标签:
1.objective-c中的数字对象都有哪些,简述它们与基本数据类型的区别是什么
objective-c 中的数字对象是 NSNumber,可以将 int 封装为 NSNumber 对象,也可以从 NSNumber 中得到 int,(即拆装箱操作):
//将int转为NSNumber NSNumber *num = [NSNumber numberWithInt:123]; //得到一个int int testNum = [num intValue];
注意区分NSInteger、CGFloat这些都是在Foundation框架下的别名,点进去看实际上它们还是int 和 float
2.用NSLog函数输出一个浮点类型,结果四舍五入,并保留一位小数
NSLog(@"保留两位小数:%.1f",4.8356);
3.截取字符串”20|http://zcw-java.iteye.com“ 中 ‘|’字符前面及后面的数据,分别输出它们
NSRange range = [str rangeOfString:@"|"];//获取范围 int location = range.location;//获取位置 NSString *str1 = [str subStringToIndex:location];//截取到第几位 NSString *str2 = [str subStringFromIndex:location+1];//从第几位开始截取
4.objective-c中的字典对象、可变字典对象是哪个,初始化一个含有两个键值对的可变词典对象,并动态的添加和删除一条记录,输出第一条记录
字典NSDictionary,可变字典NSMutableDictionary, //初始化一个可变词典,带有2个键值对 NSMutableDictionary *dic = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"value1",@"key1",@"value2",@"key2",nil]; //添加 [dic setObject:@"value3" forKey:@"key3"]; //删除 [dic removeObjectForKey:@"key3"]; //获取(按key获取) [dic objectForKey:@"key1"];
5.获取项目根路径,并在其下创建一个名称为userData的目录。
// 获取根路径 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex: 0]; // 创建文件系统管理器 NSFileManager *fileManager = [[NSFileManager alloc] init]; // 判断userData目录是否存在 if(![fileManager fileExistsAtPath:[NSString stringWithFormat:@"%@/userData", documentsDirectory]]) { // 不存在,创建一个userData目录 [fileManager createDirectoryAtPath:[NSString stringWithFormat:@"%@/userData", documentsDirectory]withIntermediateDirectories:false attributes:nil error:nil]; //复习文件管理
}//如果你在mac上测试一定是在你得文稿下边,但装到手机上就不一样了,每一个iPhone应用都会有一个自己独立得documents,所以不会冲突!
6.在一个对象的方法里面:self.name = “object”;和name =”object”有什么不同吗?
这个比较重要,self.name="object"隐式调用了set方法,所以这里如果你的set是自己写的,那么一定不要在set里self.name=name;这样的语法会造成死循环,还会使retainCount(引用计数+1)。 name=“object”,直接赋值!引用计数不变
7. 定义属性时,什么情况使用copy,assign,和retain
标签:
原文地址:http://www.cnblogs.com/actionke/p/4313540.html