在目标C中使用嵌套引用

时间:2010-01-25 07:32:17

标签: iphone objective-c nested nsmutablearray

在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 *指针的额外步骤?

1 个答案:

答案 0 :(得分:1)

通常,当您看到嵌套函数警告时,您真正拥有的是语法错误。

pointidx是一个整数而balls是一个NSArray吗?另外,你有球的财产吗?只需balls代替self.balls

编辑: 因为它是一个编译时间的东西,我想也许它不喜欢将center传递给NSObject。如果你施放物体会发生什么:

CGPoint pos=[(UIView *)([self.balls objectAtIndex:pointidx]) center];

<击> 无关紧要的沉思混淆。