Background:
最近开发新app,想换一种方式用web浏览器同步查看手机app日志输出。翻了github,看到Matt大神的一个框架,可以解决,但是比较复杂,联想到Matt大神的hipster网站,就去翻了翻,找到了这本书。原谅我没有花19刀买原版。相信我读完,有醍醐灌顶的感觉的时候,会摸着良心去买一本的。这个电子版是从csdn下载的,因为不鼓励大家和我一样。这里就不赘述如何获取资源了。
这本书就是一本参考书,会有大神的很细节很基础但觉得有必要分享的。大多都是code snippet。
下面把我觉得比较有用的点,列下来,算是自己做个读书笔记吧。
1.添加Notification Center匿名监听
[[NSNotificationCenter defaultCenter] addObserverForName:nil object:nil queue:nil usingBlock:^(NSNotification * _Nonnull note) {
NSLog(@"notification name:%@",note.name);
}];
2.打印当前调用方法信息,这个一般都是为了打印log用
NSLog(@"%s", __PRETTY_FUNCTION__);
再比如
NSLog(@"<%@:%@:%d>",NSStringFromClass([self class]),NSStringFromSelector(_cmd),__LINE__);
3.Archieve/Unarchieve an object into NSUserDefaults
NSData *data = [ [NSKeyedArchiver archivedDataWithRootObject:books];
[[NSUserDefaults standardUserDefaults] setObject:data forKey:@"books"];
NSData *data = [[NSUserDefaults standardUserDefaults] objectForKey:@"books" ];
NSArray *books = [NSKeyedUnarchiver unarchiveObjectWithData:data];
4.Creating String Representations for Enumerated Type
NSString * const UITableViewCellStyleDescription[] = {
[UITableViewCellStyleDefault] = @"Default",
[UITableViewCellStyleSubtitle] = @"Subtitle",
[UITableViewCellStyleValue1] = @"Value 1",
[UITableViewCellStyleValue2] = @"Value 2"
};
UITableViewCellStyle style = ...;
NSString *description = UITableViewCellStyleDescription[style];
这个比如我在做广告聚合的时候,各个广告平台对应的NS_ENUM值是数值,但是上报日志给Umeng的时候,传数值是不直观的,可以考虑用这种方式做一层转义。