0
我是新来的Objective-C &所以,请耐心等待 - 我一直在阅读关于何时使用nil,NULL或Nil的一些问题。为什么我们在Objective-C中需要多种“null”?
我的问题是:为什么我们需要这么多类型的“null”? Xcode(或类似的IDE)不能解释什么情况下需要“null”?
要澄清,我不寻找当使用每个 - 这是清楚解释。例如,为什么Objective-C不能简单地将NULL定义为什么也没有,然后只是使用上下文来确定哪个什么都不需要。我相当积极,答案要么是历史性的,要么是必要的目的(请举例),或者两者兼而有之。
例如
NSMutableDictionary *mutableDictionary = [NSMutableDictionary dictionary];
mutableDictionary[@"someKey"] = NULL;
......在这种情况下,编译器会知道你需要插入一个“空”的对象,&只需添加这一幕后所以词典将表现直观地(&不只是导致错误)。
In Objective C,nil * is * NULL * is *(form of)0 .. – user2864740 2015-04-01 21:29:50
答案在http://stackoverflow.com/questions/557582/null-vs-nil-in-objective-c从合同/语义的角度解释何时使用 - 这些选择背后的不同形式和基本原理。 – user2864740 2015-04-01 21:31:32
别忘了NSNull – 2015-04-01 21:33:59