Swift Xcode 6x和7x之间的配置单元不同
我正在努力学习Swift,并决定使用2015年出版的《傻瓜Swift》。本书中使用的示例代码适用于XCode 6.X,但我使用的是XCode 7.2.1 在第4章中,MasterViewController.swift中有一个configureCell代码,但它与Xcode 7.X不兼容 Dummies具有以下功能:Swift Xcode 6x和7x之间的配置单元不同,swift,xcode,Swift,Xcode,我正在努力学习Swift,并决定使用2015年出版的《傻瓜Swift》。本书中使用的示例代码适用于XCode 6.X,但我使用的是XCode 7.2.1 在第4章中,MasterViewController.swift中有一个configureCell代码,但它与Xcode 7.X不兼容 Dummies具有以下功能: func configureCell(cell: UITableViewCell, atIndexPath indexPath: NSIndexPath) { let
func configureCell(cell: UITableViewCell, atIndexPath indexPath: NSIndexPath) {
let object = self.fetchedResultsController.objectAtIndexPath(indexPath) as Event
cell.textLabel!.text = "latitude: " + object.latitude.description + " longitude: " + object.longitude.description
}
Xcode 7.X不使用indexPath,我也不知道如何重新编码func
func configureCell(cell: UITableViewCell, withObject object: NSManagedObject) {
/* I mangled the code inside the braces so I decided not to reproduce it here*/
}
提前感谢你的帮助
我已经尽我所能重新编码了函数,现在Xcode不再报告错误。以下代码正确吗
func configureCell(cell: UITableViewCell, withObject object: NSManagedObject) {
let objectgt = object as! Event
cell.textLabel!.text = "latitude: " + objectgt.valueForKey("latitude")!.description + " longitude: " + objectgt.valueForKey("longitude")!.description
}
很抱歉我带来了坏消息,但我真的认为你不应该使用这样一本过时的书。你会花很多时间学习那些不再有用的东西。正如上面的评论所提到的,swift和Xcode都发生了很大的变化。如果你读完了这本书,与那些使用当前工具(和当前语言)的人相比,你仍然处于非常不利的地位 我建议您尝试“HackingWithWift”网站,获取免费资源,在[或类似网站]开始学习(40个免费示例教程),然后决定如何继续。您应该使用当前的工具,至少使用Swift 3.1,否则您将难以理解新代码
最后一个想法:自XCode6天以来,Swift变得更容易了。方法调用/参数现在更加一致,更易于使用。这将有助于使学习过程更加顺利和愉快。每个版本的Swift都有很多不同之处。Xcode 7是否允许您设置Swift版本。如果是,请将其设置为书本使用的版本。或者,在这里获取旧版本的Xcode:下载旧版本的Xcode仅适用于付费帐户。我的帐户是免费的。用Swift进行黑客攻击(点击上面的链接)。你可以在网上试试,如果你喜欢,你也可以从那里买到电子书。它不是很贵,有1300多页。我买了《macOS黑客入侵》这本书,对此很满意,这就是我推荐该网站的原因。此外,当语言发生变化时,他会免费更新所有内容。