Objective-C:Foundation框架-常用类-NSMutableDictionary
直接上代码吧:
#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一次
}
Objective-C:Foundation框架-常用类-NSMutableDictionary的更多相关文章
- Objective-C:Foundation框架-常用类-NSString全解
Foundation框架中常用的类有字符串.集合.字典等,这里介绍字符串NSString.本文分别介绍了NSString的创建.从文件里读取NSString字符串.通过函数改变外部的NSString变 ...
- Objective-C:Foundation框架-常用类-NSDictionary
与NSString.NSArray一样,NSDictionary是不可变的,其对应可变类型为NSMutableDictionary.其用法如下: #import <Foundation/Foun ...
- Objective-C:Foundation框架-常用类-NSObject
NSObject是所有类的基类,其常见用法有: #import <Foundation/Foundation.h> @interface Person : NSObject - (void ...
- Objective-C:Foundation框架-常用类-NSDate
直接上代码吧: #import <Foundation/Foundation.h> #pragma mark 日期创建 void dateCreate() { // date方法返回的就是 ...
- Objective-C:Foundation框架-常用类-NSNull
集合中是不能存储nil值的,因为nil在集合中有特殊含义,但有时确实需要存储一个表示“什么都没有”的值,那么可以使用NSNull,它也是NSObject的一个子类. #import <Found ...
- Objective-C:Foundation框架-常用类-NSNumber
NSArray.NSDictionary是不可以存储C语言中的基本数据类型的.NSNumber可以将基本数据类型包装成对象,这样可以间接将基本数据类型存进NSArray.NSDictionary等集合 ...
- Objective-C:Foundation框架-常用类-NSMutableArray
NSMutableArray是NSArray对的子类,它是可变的,可以随意添加或者删除元素.与Array,也有静态和动态两种创建方法.也可已使用NSArray的方法来创建NSMutableArray. ...
- Objective-C:Foundation框架-常用类-NSArray
NSArray是用来存储对象的有序列表(NSSet是没有顺序的),它是不可变的.NSArray不能存储C语言中的基本数据类型,如int\float\enum\struct等,也不能存储nil.其用法如 ...
- Objective-C:Foundation框架-常用类-NSValue
NSNumber是NSValue的子类,前者只能包装数字,后者可以包装任意值.NSArray.NSDictionary只能存储OC对象,不能存储结构体.因此,如果想要在NSArray.NSDictio ...
随机推荐
- Sencha Toucha之Ext.Ajax
Ext.Ajax是Ext.data.Connection的hi一个单实例,不需要使用new或者Ext.create方法创建实例后再使用. 类的继承关系为: Ext.Base Ext.data.Conn ...
- C#堆栈和托管堆
首先堆栈和堆(托管堆)都在进程的虚拟内存中.(在32位处理器上每个进程的虚拟内存为4GB) 堆栈stack 堆栈中存储值类型. 堆栈实际上是向下填充,即由高内存地址指向低内存地址填充. 堆栈的工作方式 ...
- css样式 浏览器的读取顺序
css样式 浏览器的读取顺序 例: tbody tr td{} 浏览器是先查找td,然后去找td tr,然后去找td tr tbody div p{}和div>p{}的区别 .div p{} 是 ...
- Timer 实现2秒4秒连环炸
package com.cn.gbx; import java.util.Date; import java.util.Timer; import java.util.TimerTask; //cla ...
- ubuntu_常用命令_01
1. 获取超级用户权限(需要输入超级用户的密码) sudo -i 2. 文本编辑器(暂时觉得 类似Windows里面的txt,更多功能有待发现) gedit /xxx/yyy ZC: 貌似 这个命令 ...
- [转载] what's goole mock
原文: https://code.google.com/p/googlemock/wiki/V1_7_ForDummies 地址被墙了, 看起来费劲, 转载一份 Google C++ Mocking ...
- Oracle一列的多行数据拼成一行显示字符
Oracle一列的多行数据拼成一行显示字符 oracle 提供了两个函数WMSYS.WM_CONCAT 和 ListAgg函数. www.2cto.com 先介绍:WMSYS.WM_CO ...
- css+js实现兼容性select的样式
<!doctype html><html lang="en"> <head> <meta charset="UTF-8" ...
- JavaSE复习_8 泛型程序设计
今晚看了core Java的泛型部分,万万没有想到,当时看培训班视频入门的一带而过的泛型,有这样多的细节,整理了一下书里面提到的一些自认为的重点,方便以后观阅.由于是复习,一些基础知识跳过. △泛型类 ...
- OpenGL的几何变换[转]
OpenGL的几何变换 1.实验目的: 理解掌握一个OpenGL程序平移.旋转.缩放变换的方法. 2.实验内容: (1)阅读实验原理,运行示范实验代码,掌握OpenGL程序平移.旋转.缩放变换的方法: ...