Objective C 中的nil,Nil,NULL和NSNull理解 深藏阁楼爱情的钟 2022-08-05 05:08 124阅读 0赞 转载地址: http://magicalboy.com/null-value-in-objective-c/ ObjC 里面的几个空值符号经常会差点把我搞死,这些基础的东西一点要弄清楚才行,以提高码农的基本素质。 ### nil ### * nil 是 ObjC 对象的字面空值,对应 id 类型的对象,或者使用 @interface 声明的 ObjC 对象。 * 例如: [?][Link 1] <table style="border-collapse:collapse; border-spacing:0px; margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:100%!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important"> <tbody style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important"> <tr style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important"> <td style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:100%!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important"> <div style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:relative!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important"> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important">NSString *someString = nil;</code> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important">NSURL *someURL = nil;</code> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important">id someObject = nil;</code> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; font-weight:bold!important; min-height:inherit!important; color:rgb(0,102,153)!important">if</code> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important"> (anotherObject == nil) </code> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important; color:rgb(0,130,0)!important">// do something</code> </div> </div> </td> </tr> </tbody> </table> * 定义: [?][Link 1] <table style="border-collapse:collapse; border-spacing:0px; margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:100%!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important"> <tbody style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important"> <tr style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important"> <td style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:100%!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important"> <div style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:relative!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important"> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important; color:rgb(0,130,0)!important">// objc.h</code> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important; color:gray!important">#ifndef nil</code> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important; color:gray!important"># if __has_feature(cxx_nullptr)</code> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important; color:gray!important"># define nil nullptr</code> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important; color:gray!important"># else</code> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important; color:gray!important"># define nil __DARWIN_NULL</code> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important; color:gray!important"># endif</code> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important; color:gray!important">#endif</code> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important; color:rgb(0,130,0)!important">// __DARWIN_NULL in _types.h</code> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important; color:gray!important">#define __DARWIN_NULL ((void *)0)</code> </div> </div> </td> </tr> </tbody> </table> ### Nil ### * Nil 是 ObjC 类类型的书面空值,对应 Class 类型对象。 * 例如: [?][Link 1] <table style="border-collapse:collapse; border-spacing:0px; margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:100%!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important"> <tbody style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important"> <tr style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important"> <td style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:100%!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important"> <div style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:relative!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important"> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important">Class someClass = Nil;</code> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important">Class anotherClass = [NSString </code> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; font-weight:bold!important; min-height:inherit!important; color:rgb(0,102,153)!important">class</code> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important">];</code> </div> </div> </td> </tr> </tbody> </table> * 定义声明和 nil 是差不多的,值相同: [?][Link 1] <table style="border-collapse:collapse; border-spacing:0px; margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:100%!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important"> <tbody style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important"> <tr style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important"> <td style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:100%!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important"> <div style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:relative!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important"> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important; color:rgb(0,130,0)!important">// objc.h</code> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important; color:gray!important">#ifndef Nil</code> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important; color:gray!important"># if __has_feature(cxx_nullptr)</code> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important; color:gray!important"># define Nil nullptr</code> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important; color:gray!important"># else</code> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important; color:gray!important"># define Nil __DARWIN_NULL</code> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important; color:gray!important"># endif</code> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important; color:gray!important">#endif</code> </div> </div> </td> </tr> </tbody> </table> ### NULL ### * NULL 是任意的 C 指针空值。 * 例如: [?][Link 1] <table style="border-collapse:collapse; border-spacing:0px; margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:100%!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important"> <tbody style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important"> <tr style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important"> <td style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:100%!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important"> <div style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:relative!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important"> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; font-weight:bold!important; min-height:inherit!important; color:gray!important">int</code> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important"> *pointerToInt = NULL;</code> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; font-weight:bold!important; min-height:inherit!important; color:gray!important">char</code> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important"> *pointerToChar = NULL;</code> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; font-weight:bold!important; min-height:inherit!important; color:rgb(0,102,153)!important">struct</code> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important"> TreeNode *rootNode = NULL;</code> </div> </div> </td> </tr> </tbody> </table> * 定义: [?][Link 1] <table style="border-collapse:collapse; border-spacing:0px; margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:100%!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important"> <tbody style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important"> <tr style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important"> <td style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:100%!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important"> <div style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:relative!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important"> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important; color:rgb(0,130,0)!important">// in stddef.h</code> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important; color:gray!important">#define NULL ((void*)0)</code> </div> </div> </td> </tr> </tbody> </table> ### NSNull ### * NSNull 是一个代表空值的类,是一个 ObjC 对象。实际上它只有一个单例方法:+\[NSNull null\],一般用于表示集合中值为空的对象。 * 例子说明: [?][Link 1] <table style="border-collapse:collapse; border-spacing:0px; margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:100%!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important"> <tbody style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important"> <tr style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important"> <td style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:100%!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important"> <div style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:relative!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important"> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important; color:rgb(0,130,0)!important">// 因为 nil 被用来用为集合结束的标志,所以 nil 不能存储在 Foundation 集合里。</code> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important">NSArray *array = [NSArray arrayWithObjects:@</code> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important; color:blue!important">"one"</code> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important">, @</code> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important; color:blue!important">"two"</code> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important">, nil];</code> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important; color:rgb(0,130,0)!important">// 错误的使用</code> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important">NSMutableDictionary *dict = [NSMutableDictionary dictionary];</code> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important">[dict setObject:nil forKey:@</code> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important; color:blue!important">"someKey"</code> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important">];</code> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important; color:rgb(0,130,0)!important">// 正确的使用</code> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important">NSMutableDictionary *dict = [NSMutableDictionary dictionary];</code> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important">[dict setObject:[NSNull null] forKey:@</code> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important; color:blue!important">"someKey"</code> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important">];</code> </div> </div> </td> </tr> </tbody> </table> * 定义: [?][Link 1] <table style="border-collapse:collapse; border-spacing:0px; margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:100%!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important"> <tbody style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important"> <tr style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important"> <td style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:100%!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important"> <div style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:relative!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important"> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important; color:rgb(0,130,0)!important">/* NSNull.h</code> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important"> </code> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important; color:rgb(0,130,0)!important">Copyright (c) 1994-2012, Apple Inc. All rights reserved.</code> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important; color:rgb(0,130,0)!important">*/</code> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important; color:gray!important">#import <Foundation/NSObject.h></code> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important">@interface NSNull : NSObject <NSCopying, NSSecureCoding></code> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important">+ (NSNull *)null;</code> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> </div> <div style="margin:0px!important; padding:0px 1em 0px 0em!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; min-height:inherit!important; white-space:pre!important"> <code style="margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; font-size:1em!important; vertical-align:baseline!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; width:auto!important; font-family:Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace!important; min-height:inherit!important">@end</code> </div> </div> </td> </tr> </tbody> </table> ### NIL 或 NSNil ### ObjC 不存在这两个符号! ### 小结 ### 虽然 nil, Nil, NULL 的值相同,理解它们之间的书面意义才重要,让代码更加明确,增加可读性。 ### 参考资料 ### * [Difference between nil,NIL and null – Stack Overflow][Difference between nil_NIL and null _ Stack Overflow] * [Topics for Cocoa: Using Null.][Topics for Cocoa_ Using Null.] [Link 1]: http://magicalboy.com/null-value-in-objective-c/# [Difference between nil_NIL and null _ Stack Overflow]: http://stackoverflow.com/questions/5908936/iphonedifference-between-nil-nil-and-null [Topics for Cocoa_ Using Null.]: https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/NumbersandValues/Articles/Null.html
还没有评论,来说两句吧...