- OC语言的面向对象特性是通过封装c和c++实现的,编译器会将OC编译为c和c++,再讲c编译为汇编语言,最终转成机器语言.
- 使用
xcrun -sdk iphoneos clang -arch arm64 -rewrite-objc -fojbc-arc -fojbc-runtime=ios-8.0.0 main.m
可以指定运行平台(iphoneos
)和架构(arm64
)后,编译oc语言得到main.cpp文件.(cpp为c++语言文件后缀)
- alloc()方法内部调用的是
allocWithZone
方法
- Person类在c++中的实现长这样
struct Person_IMPL{
struct NSObject_IMPL s; //父类的结构体,结构体里面是一个Class isa指针.
int _age;
}
struct Person_IMPL *perImp = person
NSLog(@"%d",person -> _age);//通过结构体访问对象的属性
-
memory write 0x00010 8
可以修改0x00010这个内存地址的值为8
- apple用的是小端模式
- 使用
p/x (long)father->isa
打印isa的地址值
- 可以在
-(void)loadView
方法里面替换系统自带的控制器view
- 控制器的self.view是懒加载
- 多线程 : 程序员可以控制新建、就绪、阻塞、死亡一个线程,唯独不能控制它什么时候运行,什么时候运行是由cpu底层做决定的.
NSThread的start方法也只是把新建的线程放到可调度线程池里面,也就是就绪状态.
-
网友评论