2010-10-25 35 views
2

我有Apress「Learn Cocoa」一書(2010年發佈),並且在其中一行上出現棄用錯誤。代碼是:如何更改NSTableView的選擇而不使用已棄用的方法

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification { 
    self.villain = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"Lex Luthor", kName, @"Smallville", kLastKnownLocation, [NSDate date], kLastSeenDate, @"Superman", kSwornEnemy, @"Revenge", kPrimaryMotivation, [NSArray arrayWithObjects:@"Intellect", @"Leadership", nil], kPowers, @"Superhero Action", kPowerSource, [NSNumber numberWithInt:9], kEvilness, [NSImage imageNamed:@"NSUser"], kMugshot, @"", kNotes, nil]; 
    self.villains = [NSMutableArray arrayWithObject:self.villain]; 
    [villainsTableView reloadData]; 
    [villainsTableView selectRow:0 byExtendingSelection:NO]; 
    [self updateDetailViews]; 
} 

我得到了第二行到最後一行的錯誤,我不確切知道該行意圖做什麼。

回答

3

已過時的方法替換是這樣的:

[villainsTableView selectRowIndexes:[NSIndexSet indexSetWithIndex:0] byExtendingSelection:NO];

0

在Xcode你可以把你想知道一些關於符號上方的mousecursor。將鼠標放置在該符號上方(即NSString)時,按住ALT鍵並雙擊。這將打開一個上下文相關的文檔。那裏所有不贊成使用的方法和符號都標記爲紅色。大多數情況下,新的替代品記錄在舊的替代品旁邊。在新的xcode中,會出現一個彈出窗口。該文檔將通過點擊框邊的「筆記本」圖標打開。

即用於NSString的,你會發現:
- 方法initWithCString:棄用iOS中2.0
+ stringWithCString:編碼:

有了一個猜測你會選擇 「+ stringWithCString:編碼:」 蘋果幾乎增加了新的功能,這是舊的東西的邏輯增強,所以你不需要努力谷歌,但注意到相關文檔的方法摘要。

相關問題