我对 Python 的经验比其他任何东西都多,所以使用可变数组和不可变数组和字典有点奇怪。我真的很喜欢 Xcode 4.5 添加的文字语法,但是在做一些简单的事情时,我遇到了这样的情况:
NSArray *myArray = [@[/*array objects here*/] mutableCopy];
[myArray addObject: @/*an object goes here*/];
并且编译器给了我一个警告,指出“myArray 可能无法响应 addObject”。
代码编译并且 addObject 工作得很好,我可以 NSLog 对象并验证它是否存在于 myArray - 但我不完全理解这个警告的性质。在这种情况下 mutableCopy 不会返回 NSMutableArray 吗?简单地使用 NSMutableArray 而不是尝试(过度)使用文字语法是否更合适?
另外,既然这只是一个愚蠢的警告,我可以忽略它并继续吗?这似乎……在最坏的情况下是懒惰的,也许只是为将来的恶作剧打开了大门。