2012-11-15 58 views
1

我有一個應用程序,我在10.8開發,現在我試圖執行10.7代碼(據我可以告訴這是一個OSX問題)。不幸的是,下面的代碼段已停止工作:預期的方法來讀取數組未找到編譯10.7

dataViewController.dataObject = self.pageData[index]; 

它是其上裝載與當前頁數據的數據視圖控制器的對象。這似乎是生成的代碼的一部分(如果我沒有記錯的話)。我不知道如何解決這個問題。你如何解決舊版本的這個問題?對不起,有點模糊......任何幫助將不勝感激!

回答

1

您使用的括號語法是一個新的編譯器功能;它將array[idx]解釋爲方法調用'[array objectAtIndexedSubscript:idx]

不幸的是,方法- objectAtIndexedSubscript:本身只包含在較新版本的SDK中,因此導致運行時「對象不響應選擇器」錯誤。

要修復,創建一個類別NSArray(以及類似地,對於NSDictionary和其他),並添加方法

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