在XCode / ObjC中获取错误消息“嵌套函数被禁用,使用-fnested”等。
这是代码(ball是指向一堆UIViews的NSMutableArray)。
CGPoint pos=[[self.balls objectAtIndex:pointidx] center];
但以下似乎编译好了。
UIView *ref=[self.balls objectAtIndex:pointidx];
CGPoint pos=ref.center;
我应该使用“-fnested-functions重新启用(如果是的话,我在哪里放”-fnested-functions“)?或者我应该先忍受创建UIView *指针的额外步骤?
答案 0 :(得分:1)
通常,当您看到嵌套函数警告时,您真正拥有的是语法错误。
pointidx
是一个整数而balls
是一个NSArray吗?另外,你有球的财产吗?只需balls
代替self.balls
。
编辑:
因为它是一个编译时间的东西,我想也许它不喜欢将center
传递给NSObject。如果你施放物体会发生什么:
CGPoint pos=[(UIView *)([self.balls objectAtIndex:pointidx]) center];
击> <击> 撞击> 无关紧要的沉思混淆。