2009-11-30 96 views

回答

9

您所创建的整数就好了,问题是你不能将它输出像那样。 %@用于输出目标c对象,而不是简单的c类型。

尝试:

int i; 
i=0; 
NSLog(@"i=%d",i); 
+0

这是有道理的,但是当我尝试使用NSUInteger同样的事情发生。另外,当我对i的值进行任何操作时,程序崩溃,例如i ++ .... – Michael 2009-11-30 06:46:49

+0

也许发布崩溃的代码......正如您所描述的那样,我不明白为什么它不起作用。 – 2009-11-30 06:51:51

+3

@Michael:根据平台的不同,'NSInteger'是一个type'f'long'或'int'。这不是一个对象。相应的对象是一个'NSNumber'。 '我++'应该不成问题。它在'NSLog'中崩溃。如果没有“i ++”,你会尝试打印地址为0x0的对象,该地址等于'nil'。这是有效的。但是用'i ++',你试图访问地址为'0x1'的对象,这是受保护的内存,因此当你访问它时会崩溃。 – 2009-11-30 06:53:25

相关问题