读取数据的预期方法未在10.7上找到编译

时间:2012-11-15 22:55:02

标签: objective-c ios xcode

我有一个我在10.8开发的应用程序,现在我正在尝试在10.7上执行代码(据我所知,这是一个OSX问题)。不幸的是,以下代码已停止工作:

dataViewController.dataObject = self.pageData[index];

数据视图控制器中的一个对象,它加载了当前页面数据。这似乎是生成代码的一部分(如果我没记错的话)。我不知道如何解决这个问题;你会如何在旧版本上解决这个问题?对不起有点模糊......任何帮助都将不胜感激!

1 个答案:

答案 0 :(得分:1)

您使用的括号语法是一个新的编译器功能;它将array[idx]解释为方法调用'[array objectAtIndexedSubscript:idx]

不幸的是,方法- objectAtIndexedSubscript:本身仅包含在较新版本的SDK中,因此导致运行时“对象不响应选择器”错误。

要修复,请为NSArray创建一个类别(类似地,为NSDictionary和其他人创建),然后添加方法

- (id)objectAtIndexedSubscript:(NSUInteger)idx {
  return [self objectAtIndex:idx];
}