2010-11-26 184 views
0

我爲iPhone開發應用程序& iPod和開發應用程序期間我使用模擬器3.2(iPad)它運行完美,但是當我想在我的應用程序模擬器3.1.3上它產生一個錯誤我通過評論這條線刪除此錯誤/ /self.clearsSelectionOnViewWillAppear = NO; 併成功建設項目,但在模擬器上運行應用程序3.1.3當我點擊按鈕時,它在3.2模擬器上的另一個屏幕上完美&在3.1.3上崩潰 我從中得到什麼。iphone模擬器崩潰?

+0

如果在使用它們之前請檢查方法文檔,如果它們在您的工作sdk中可用。正如清楚地寫出clearsSelectionOnViewWillAppear在3.2以上可用。它會排序你的大部分問題:) – 2010-11-26 06:25:15

回答

1

UITableViewController用於該文檔明確指出clearsSelectionOnViewWillAppear是用於iOS 3.2及以上。它在3.1.3中崩潰,因爲這個屬性在3.1.3中不存在(你可以通過閱讀你已經發現的屬性的文檔來輕鬆地猜測這個屬性是由於你已經發現導致了問題,或者通過查看錯誤消息來指出該對象不響應選擇器setClearsSelectionOnViewWillAppear

在設置此之前,您可以檢查此屬性並設置它,否則您的舊代碼可以按原樣支持,或者您可以執行一些更高級的操作並添加在前期3.2環境下的性能

要檢查的代碼,你做這樣的事情:

if([UITableViewController instancesRespondToSelector:@selector(setClearsSelectionOnViewWillAppear:)]) { 
    // This is 3.2+ so we can use this property 
    [self setClearsSelectionOnViewWillAppear:NO]; 
} else { 
    // This is something earlier than 3.2, so we ignore it 
    NSLog(@"will clear selection: pre-3.2"); 
} 
+0

其中我把這個代碼&當我把它放入viewDidload方法,然後它說警告類可能不會響應setClearsSelectorOnViewWillAppear method.plz詳細解釋我newbe它。 – 2010-11-26 06:09:16

0

你能更清楚地解釋你的問題嗎?

我親愛的朋友,

你應該更認真閱讀蘋果文檔,

它明確提出

clearsSelectionOnViewWillAppear

可從iPhone OS 3.2和更高版本的方法,你正試圖在3.1.3中使用它。

所以結果很明顯。

clearsSelectionOnViewWillAppear 一個布爾值,指示控制器在表出現時是否清除選擇。

@屬性(非原子)BOOL clearsSelectionOnViewWillAppear

討論 該屬性的缺省值是YES。當「是」時,表視圖控制器在收到viewWillAppear:消息時清除表的當前選擇。將此屬性設置爲NO會保留選擇。

可用性 適用於iPhone OS 3.2及更高版本。 宣佈 UITableViewController.h

由於

相關問題