OC 30 day
这两个都是一样的,那到底要如何使用呢?
虽然使用NULL的地方可以是nil,使用nil的地方可以是NULL,但是不建议大家随便使用。
C指针用NULL
int *p1 = NULL; p1指针不指向内存中的任何一个空间。
OC的类指针用nil
Person *p1 = nil; p1指针不指向任何对象。
如果一个类指针的值为nil 代表这个指针不指向任何对象。
Person *p1 = nil;
那麽这个时候,如果通过p1指针去访问p1指针指向的对象的属性,这时候会运行报错。
那麽这个时候,如果通过p1指针去调用对象的方法,运行不会报错,但是方法不会执行,没有任何反应。
Person *p1 = [Person new];
Person *p2 = p1; 这是完全没有问题的,p1和p2的类型都是Person指针类型的。
代表将p1的值赋值给p2,而p1的值是对象的位址,所以就把对象的地址赋值给了p2。
所以p1和p2指向了同一个对象。
无论透过p1还是p2其实修改的都是同一个对象。
2. 目前为止,只要看见了new,就说明创建了一个新的对象。
<<: iOS APP 开发 OC 第七天, 对象在内存中的储存
今天要来分享一点关於 prototype 和建构器的部分。 建构器所 new 的不是你想的那样 我...
InstagramManager class InstagramManager { private ...
前言 今天聊到了伫列(queue)这种资料结构,伫列和Day5所提到的堆叠常放在一起看,他们的操作方...
DAY07 开始用 Designer 在 Azure Machine Learning 做 AI 我...
-NIST 通用风险模型 (NIST SP 800-30 R1) NIST 通用风险模型描述了威胁...