`
iaiai
  • 浏览: 2196174 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Objective-C中遇到的一个比较郁闷的总是for中修改不了字典中的值

 
阅读更多
Objective-C中遇到的一个比较郁闷的总是for中修改不了字典中的值
从群里问了一下别人说用迭代器修改,用for只能遍历获取值不能修改字典中的值,
这总是比较郁闷,以为没总是的代码一运行就不行
下面把代码放上:
+(NSMutableDictionary*) paramEncrypt:(NSMutableDictionary*) params{
    if (!params) return params;
    
    //这种用for的方式不能个性字典中的值
//    NSMutableDictionary* newParams = [NSMutableDictionary dictionaryWithCapacity:0];
//    
//    for (NSString* key in [params keyEnumerator]) {
//        NSData *data = [[params objectForKey:key] dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];
//        NSString* pm = [[NSString alloc] initWithData:[GTMBase64 encodeData:data] encoding:NSUTF8StringEncoding];
//        [LogUtil d:@"%@",pm];
////        [params setObject:pm forKey:key]; //不能用这种方式会报错,好像是在for中被锁了
//        [newParams setObject:pm forKey:key];//这种方式也不好还得新建一个浪费内存
//    }
    
    //只能用此迭代器的方式个性里面的值
    [params enumerateKeysAndObjectsWithOptions:NSEnumerationReverse usingBlock:^(id key, id obj, BOOL *stop) {
        NSData *data = [[params objectForKey:key] dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];
        NSString* pm = [[NSString alloc] initWithData:[GTMBase64 encodeData:data] encoding:NSUTF8StringEncoding];
        [params setObject:pm forKey:key];
    }];
    return params;
}
分享到:
评论

相关推荐

    Objective-c语言学习-快速入门完整版完整版

    "第八讲 内存管理"是Objective-C开发中非常重要的一个环节,讲解了自动引用计数(ARC)和手动内存管理(MRC)的原理,以及如何避免内存泄漏。 最后,"第九讲 Foundation框架"介绍了苹果的基础框架,它提供了一系列...

    Objective-C基础教程(入门教程).pdf

    Objective-C是一种广泛用于苹果平台应用程序开发的编程语言,它是C语言的一个超集,并加入了Smalltalk风格的消息传递机制。本篇教程主要面向初学者,介绍了Objective-C的基础知识点和一些核心概念。 1. Objective-C...

    Objective-C语言入门教程&深入浅出,理论实践相结合.pdf

    Objective-C语言入门教程&深入浅出,理论实践相结合 Objective-C语言入门教程&深入浅出,理论实践相结合 Objective-C语言入门教程&深入浅出,理论实践相结合 Objective-C语言入门教程&深入浅出,理论实践相结合 ...

    Objective-C Runtime测试代码

    这意味着Objective-C语言不仅需要一个编译器,还需要一个运行时系统来执行编译的代码。Runtime系统是一种用于Objective-C语言的操作系统,它使OC语言工作起来。  Runtime的核心是在运行时动态操作类和消息分发给...

    Objective-C 2.0 运行时系统编程指南

    因此,Objective-C不仅依赖于编译器,还需要一个强大的运行时系统来执行已经编译好的代码。运行时系统在Objective-C中扮演着类似操作系统的角色,为Objective-C应用程序提供了基础支撑。 #### 文档结构与目的 本...

    Programming With Objective-C

    根据给出的内容,我们可以总结出以下关于Objective-C编程语言的知识点,这些知识点将覆盖从Objective-C的基础知识到高级特性,以及如何在iOS移动开发中使用Objective-C: 1. Objective-C简介 Objective-C是一种面向...

    C语言主要知识点巩固(学习Objective-C 的前提)

    C语言是计算机编程的基础,它是Objective-C的重要基石。在学习Objective-C之前,深入理解C语言的知识点至关重要。C语言以其高效、简洁和灵活性被广泛应用于系统编程、嵌入式开发、游戏引擎等领域。本资料主要涵盖了...

    Objective-C高级编程 iOS与OS X多线程和内存管理_Objective-C_ios_

    《Objective-C高级编程:iOS与OS X多线程和内存管理》是一本深入探讨Apple平台开发中的关键技术的书籍。本书主要围绕Objective-C语言在iOS和OS X操作系统上的应用,特别是针对多线程和内存管理这两个核心主题进行...

    windows 下搭建 Objective-C 开发环境

    1. **创建gcc.sh脚本**:在Objective-C代码所在的文件夹中创建一个名为`gcc.sh`的文件,内容如下: ```bash gcc -o "$1" "$2" -I/GNUstep/System/Library/Headers -fconstant-string-class=NSConstantString -L/...

    Objective-C编程全解最新版.pdf.zip

    Objective-C是一种强大的面向对象的编程语言,特别是在iOS和macOS应用程序开发中占据核心地位。"Objective-C编程全解最新版.pdf.zip"这个压缩包显然包含了关于Objective-C编程的全面教程,旨在帮助开发者深入理解并...

    Objective-C与Objective-C++的混用代码示例

    Objective-C是基于C语言的,主要用于构建iOS和macOS应用程序,而Objective-C++则是Objective-C的一个扩展,它引入了C++的特性,使得开发者可以同时利用Objective-C的动态特性和C++的面向对象编程能力。 ### ...

    Objective-C语言教程

    希望这个简单的Objective-C语言教程能够为你提供一个入门的起点。Objective-C是一种面向对象的编程语言,广泛应用于Mac OS和iOS开发。通过学习Objective-C的基本语法、类和对象、控制流程和方法等内容,你将能够编写...

    Objective-C程序设计 第6版 pdf

    Objective-C是一种强大的面向对象编程语言,它在Apple的Mac OS X和iOS操作系统中扮演着核心角色,用于构建高质量的应用程序。《Objective-C程序设计 第6版》是学习和深入理解这种语言的重要参考资料,旨在帮助开发者...

    《Objective-C基础教程》中文版(含源代码)

    《Objective-C基础教程》是一本面向初学者的编程书籍,主要涵盖了Objective-C语言的基本概念、语法和编程实践,尤其适合那些想要踏入iOS应用开发领域的学习者。Objective-C是Apple公司开发的面向对象的编程语言,它...

    Objective-c for absolute beginners英文版

    由于篇幅限制,本知识点将以“Objective-C for Absolute Beginners”英文版教材中介绍的主要知识点为基础,从iOS编程的角度出发,进行详细解读。 **Objective-C基础** Objective-C是苹果公司开发的面向对象编程语言...

    Learn Objective-C on the Mac For OS X and iOS 2nd Edition

    Objective-C是一种强大的面向对象编程语言,特别是在Apple的OS X和iOS操作系统中占据核心地位。它是由Stepanov和Moss在1983年创建,后来被Apple采用并进一步发展,成为了开发Mac和iOS应用程序的主要工具。Objective-...

    Objective-C的语法与Cocoa框架.pdf

    Objective-C语言是一种面向对象的编程语言,它是C语言的一个超集,专门为MacOSX和iOS平台的开发设计。作为苹果官方支持的语言,Objective-C拥有悠久的历史和深厚的技术底蕴。它从C语言发展而来,对C语言的结构和语法...

    这是一个基于Objective-C语言的基础案例集 旨在用于给初学者快速了解Objective-C语言的语法 .zip

    6. categories:Objective-C的类别机制允许向已存在的类添加新的方法,而无需修改原有代码,这是Objective-C的一个强大特性。 7. blocks:Blocks是Objective-C的匿名函数,可以捕获和存储当前作用域内的变量。它们...

    Objective-C程序设计(第4版)(全球最畅销Objective-C编程书籍)

    《Objective-C 程序设计(第4版)》作者假设读者没有面向对象程序语言或者C语言(Objective-C基础)编程经验,因此,初学者和有经验的程序员都可以使用这本《Objective-C 程序设计(第4版)》学习Objective-C。读者不...

    Object-C语言教程:Objective-C 简介

    Objective-C中的控制结构与C语言基本一致,包括但不限于if语句、switch语句、循环等。 ##### 2.7 属性(Properties) 属性提供了一种简洁的方式来管理类的实例变量。通过属性,可以轻松地设置和获取类的成员变量。...

Global site tag (gtag.js) - Google Analytics