jam*_*mes 2 cocoa cocoa-touch objective-c
为什么dict2在dict1显示没有这样的警告时显示关于其对象不是指针的警告?
不应该都显示这个警告?两者都是整数..
尔格.
NSDictionary *dict1 = [NSDictionary dictionaryWithObject:0 forKey:TAG_KEY];
NSDictionary *dict2 = [NSDictionary dictionaryWithObject:1 forKey:TAG_KEY];
Run Code Online (Sandbox Code Playgroud)
显然,int不是对象 - 但指针上下文中的0被解释为nil/NULL.事实上,这正是nil的定义.来自objc.h:
#define Nil 0 /* id of Nil class */
#define nil 0 /* id of Nil instance */
Run Code Online (Sandbox Code Playgroud)