在 XCode/ObjC 中收到错误消息“嵌套函数已禁用,请使用 -fnested”等。
这是代码(balls 是一个指向一堆 UIView 的 NSMutableArray)。
CGPoint pos=[[self.balls objectAtIndex:pointidx] center];
但是下面的代码似乎编译正常。
UIView *ref=[self.balls objectAtIndex:pointidx];
CGPoint pos=ref.center;
我应该使用“-fnested-functions”重新启用(如果是这样,我应该将“-fnested-functions”放在哪里)?或者我应该先忍受创建 UIView* 指针的额外步骤?ty .
最佳答案
通常,当您看到嵌套函数警告时,您真正遇到的是语法错误。
<罢工>是pointidx
一个整数和 balls
NSArray?另外,你有球的属性(property)吗?尝试一下balls
而不是self.balls
.罢工>
编辑:
由于这是编译时的事情,我想它可能不喜欢传递 center
到 NSObject.如果您转换该对象会发生什么:
CGPoint pos=[(UIView *)([self.balls objectAtIndex:pointidx]) center];
罢工><罢工>罢工> 无关紧要的思考被混淆了。
关于iphone - Objective C 中嵌套引用的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2130820/