我有Apress“学习可可”一书(2010年BTW出版),我在其中一行上得到了弃用错误。代码是:
- (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];
}
我在第2行到最后一行收到错误,但我不确切知道该行的意图。
答案 0 :(得分:3)
弃用方法的替换如下所示:
[villainsTableView selectRowIndexes:[NSIndexSet indexSetWithIndex:0] byExtendingSelection:NO];
答案 1 :(得分:2)
The documentation告诉您该消息的作用以及替换内容。
答案 2 :(得分:0)
在XCode中,您可以将鼠标光标放在您想要了解的符号上方。将鼠标光标放在此符号上方(即NSString)时,按住ALT键并双击。这将打开一个上下文敏感的文档。所有弃用的方法和符号都标记为红色。大多数情况下,新的替代品都记录在旧的替代品旁边。在新的xcode中,将出现一个弹出窗口。通过单击框边框处的“笔记本”图标打开文档。
即。对于NSString你会发现:
- initWithCString:iOS 2.0中不推荐使用
+ stringWithCString:encoding:
通过有根据的猜测,您将选择“+ stringWithCString:encoding:” Apple几乎添加了新功能,这是旧功能的逻辑增强,因此您不需要谷歌,但请注意相关文档的方法摘要。