对于myObject的一个实例,它们之间是否存在差异
if(myObject == nil)
和
if(myObject)
我的假设是,如果没有分配和初始化myObject,它将是nil,两者是同义词.
更新:对不起,我说错了我的问题,但我认为你回答了我真正的问题.让我澄清一下:
我有两个tableViews,每个都有自己的viewController,tblVC1和tblVC2.对于用户点击表行,viewController配置popver contentViewController contentVC,它具有tblVC1和tblVC2属性.因此,如果用户点击处理tblVC1,则设置contentVC.tblVC1 = self,并且tblVC2属性未初始化.
当我需要回调启动viewController时,我一直在检查要调用哪个viewController:
if (tblVC1) {
[tlbVC1 callTheMethod];
} else {
[tlbVC2 callTheMethod];
}
Run Code Online (Sandbox Code Playgroud)所以我应该问:是if (tblVC1)一样的if (tblVC1 != nil)吗?
if(myObject)检查myObject是否指向一个内存区域!= 0x0并if(myObject == nil)检查myObject是否指向0x0.哦,默认情况下myObject不会为NULL,但前提是它是一个ObjC类的ivar,否则它将指向一个随机内存块.
(免责声明:在iOS和Mac OS X上请求新的内存页面将产生一个干净的内存页面,这意味着在这种情况下myObject将为NULL.但我不会依赖于此)
| 归档时间: |
|
| 查看次数: |
1198 次 |
| 最近记录: |