Objective-C:Foundation框架-常用类-NSMutableDictionary
2015-12-24 15:37
337 查看
直接上代码吧:
#import <Foundation/Foundation.h> @interface Student : NSObject @property (nonatomic, retain) NSString *name; + (id)studentWithName:(NSString *)name; @end #import "Student.h" @implementation Student + (id)studentWithName:(NSString *)name { Student *stu = [[Student alloc] init]; stu.name = name; return [stu autorelease]; } - (void)dealloc { NSLog(@"%@被销毁了", _name); // 释放name [_name release]; [super dealloc]; } @end
#import <Foundation/Foundation.h> #import "Student.h" #pragma mark 可变字典的使用 void dictUse() { // 创建一个空的字典 NSMutableDictionary *dict = [NSMutableDictionary dictionary]; Student *stu1 = [Student studentWithName:@"stu1"]; Student *stu2= [Student studentWithName:@"stu2"]; // 添加元素 // stu1的计数器会+1 [dict setObject:stu1 forKey:@"k1"]; NSLog(@"stu1:%zi", [stu1 retainCount]); // 添加其他字典other到当前字典dict中 NSDictionary *other = [NSDictionary dictionaryWithObject:@"v2" forKey:@"k2"]; [dict addEntriesFromDictionary:other]; // 删除所有的键值对 // [dict removeAllObjects]; // 删除k1对应的元素stu1,stu1会做一次release操作 [dict removeObjectForKey:@"k1"]; NSLog(@"stu1:%zi", [stu1 retainCount]); // 删除多个key对应的value // [dict removeObjectsForKeys:[NSArray arrayWithObject:@"k1"]]; // 字典被销毁时,内部的所有key和value计数器都会-1,也就是说stu1会release一次 }
相关文章推荐
- ios objective-c java php des加解密统一
- Objective-C:Foundation框架-常用类-NSDictionary
- Objective-C:Foundation框架-常用类-NSMutableArray
- Objective-C:Foundation框架-常用类-NSArray
- Objective-C:Foundation框架-常用类-NSMutableString
- Objective-C:Foundation框架-常用类-NSString全解
- objective-c语言_内存管理
- Objective-C:Block
- Objective-C:Category
- Objective-C:@property参数详解
- Convert InputStream to JSONObject
- ArcEngine 无法将类型为"Systerm._ComObject"的对象强制转换为类型******
- ogg启动报错libnnz11.so: cannot open shared object file
- objective-c 的分类与扩展
- iOS Objective-C Runtime(-)消息机制
- [New learn]讲解Objective-c的block知识
- cell的重用机制
- Objective-C非正式协议与正式协议
- Android属性动画完全解析(中),ValueAnimator和ObjectAnimator的高级用法
- Volley StringRequest和JSONObjectRequest使用几个细节