集合间相互转换,浅谈相关内存管理,使用NSData处理数据,使用NSDate - iOS

版权声明:本文为博主原创,如需转载请注明出处。

NSArray 转换成 NSMutableArray

1
2
3
NSArray * array = @[@"one",@"two",@"three"];
NSMutableArray * muArray = [NSMutableArray arrayWithArray:array];
NSLog(@"muarray %@",muArray);

NSDictonary 转换成 NSMutableDictionary

1
2
3
NSDictionary * dic = @{@"one":@"1",@"two":@"2"};
NSMutableDictionary * muDic = [NSMutableDictionary dictionaryWithDictionary:dic];
NSLog(@"mudic %@ ",muDic);

iOS 结构体

版权声明:本文为博主原创,如需转载请注明出处。

结构体

NSRange(location length)

1
2
3
4
typedef struct _NSRange {
NSUInteger location;
NSUInteger length;
} NSRange;
1
2
3
NSRange r1 = {2, 4}; // 不用
NSRange r2 = {.location = 2, .length = 4};// 不用
NSRange r3 = NSMakeRange(2, 4); // 掌握
1
2
3
4
5
6
NSString *str = @"i love oc";

// 查找某个字符串在str中的范围
// 如果找不到,length=0,location=NSNotFound==-1
NSRange range = [str rangeOfString:@"java"];
NSLog(@"loc = %ld, length=%ld", range.location, range.length);

description 方法 和 SEL - iOS

版权声明:本文为博主原创,如需转载请注明出处。

description

-description 方法

使用 NSLog%@ 输出某个对象时,会调用对象的 -description 方法,并拿到返回值进行输出

+description 方法

使用 NSLog%@ 输出某个对象时,会调用类对象 +description 方法,并拿到返回值进行输出

1
2
3
Class c = [Person class];

NSLog(@"%@", c);
  1. 会调用类的 +description 方法
  2. 拿到 +description 方法的返回值(NSString *)显示到屏幕上
  3. +description 方法默认返回的是“类名”