我已经看了一年多了,我无法弄清楚这是一个错误还是我做错了什么。
当我在我的一个类中声明属性时,如
@property (nonatomic, retain) NSString *aString;
我会在其他地方使用它,比如
myObject.aStr[ESC]
当列表中弹出所有建议时,aString 总是类型为int。我所有的属性都是这样的。
我在不同的安装,不同的机器,发行版或测试版上试过这个。
其他人看到了吗?或者我错过了什么?
答案 0 :(得分:3)
这是Xcode 3.1.x中的已知错误。 Snow Leopard版本中的Xcode版本对自动完成行为有很多修复。
答案 1 :(得分:2)
这可能是因为在某些情况下,C中的未定义类型被视为int
而Xcode没有后台编译器(如Visual Studio对C#所做的)其“intellisense”。
如果在声明属性后立即编译项目,Xcode应该看到正确的类型。
答案 2 :(得分:1)
也许XCode正在接受这样一个事实:你所拥有的不是一个字符串,它是一个指向字符串的指针。它没有理由应该认为它是一个int,但也许是指针是4个字节而int也是4个字节的事实导致这种情况发生。建设可能解决了这个问题。当我回到我的Mac时,我会更新。