我有一个我在10.8开发的应用程序,现在我正在尝试在10.7上执行代码(据我所知,这是一个OSX问题)。不幸的是,以下代码已停止工作:
dataViewController.dataObject = self.pageData[index];
数据视图控制器中的一个对象,它加载了当前页面数据。这似乎是生成代码的一部分(如果我没记错的话)。我不知道如何解决这个问题;你会如何在旧版本上解决这个问题?对不起有点模糊......任何帮助都将不胜感激!
答案 0 :(得分:1)
您使用的括号语法是一个新的编译器功能;它将array[idx]
解释为方法调用'[array objectAtIndexedSubscript:idx]
。
不幸的是,方法- objectAtIndexedSubscript:
本身仅包含在较新版本的SDK中,因此导致运行时“对象不响应选择器”错误。
要修复,请为NSArray
创建一个类别(类似地,为NSDictionary
和其他人创建),然后添加方法
- (id)objectAtIndexedSubscript:(NSUInteger)idx {
return [self objectAtIndex:idx];
}