- 博客(5)
- 收藏
- 关注
原创 ios解决多线程忘记释放lock的
为了解决多线程忘记释放lock的问题,引入哨兵ThreadGuard#import@interface ThreadGuard :NSObject- (instancetype)initWithLock:(NSLock *)lock;- (void)unlock;@end#import "ThreadGua
2018-06-30 23:43:48 470
原创 证明Block是对象
int age = 10; void (^test)(void) = ^ { NSLog(@"xxxx, %d", age); }; id t = (id)(test); NSLog(@"%@, %@, %@", object_getClass(t), object_getClass(object_getCla...
2018-06-30 13:32:10 271
转载 iOS语言本地化/国际化一些技巧
代码获取国际化语言数组获取当前app使用的语言NSArray *langArr1 = [[NSUserDefaults standardUserDefaults] valueForKey:@"AppleLanguages"];NSString *language1 = langArr1.firstObject;NSLog(@"模拟器语言:%@",language1);切换语言 en代表 英语, z...
2018-06-20 08:56:08 411
转载 iOS Block 详解
一、概述闭包 = 一个函数「或指向函数的指针」+ 该函数执行的外部的上下文变量「也就是自由变量」;Block 是 Objective-C 对于闭包的实现。其中,Block:可以嵌套定义,定义 Block 方法和定义函数方法相似Block 可以定义在方法内部或外部只有调用 Block 时候,才会执行其{}体内的代码本质是对象,使代码高聚合 使用 clang 将 OC 代码转换为 C++ 文件查看 b...
2018-06-20 08:55:15 269
转载 神经病院 Objective-C Runtime 入院第一天—— isa 和 Class
目录1.Runtime简介2.NSObject起源(1) isa_t结构体的具体实现(2) cache_t的具体实现(3) class_data_bits_t的具体实现3.入院考试一. Runtime简介Runtime 又叫运行时,是一套底层的 C 语言 API,是 iOS 系统的核心之一。开发者在编码过程中,可以给任意一个对象发送消息,在编译阶段只是确定了要向接收者发送这条消息,而接受者将要如何...
2018-06-13 17:15:09 345
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人