configureCell在Xcode 6x和7x之间有所不同

时间:2017-05-09 18:55:01

标签: swift xcode

我正在尝试学习Swift并决定使用2015年发布的“Swift for Dummies”。本书中使用的示例代码适用于XCode 6.X,但我使用的是Xcode 7.2.1。

在第4章中,MasterViewController.swift中有一个configureCell代码,但它与Xcode 7.X不兼容

傻瓜有以下几点:

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
   }

1 个答案:

答案 0 :(得分:1)

我很遗憾成为坏消息的承载者,但老实说,我认为你不应该使用这样一本过时的书。你会花很多时间学习不再有用的东西。正如上面提到的评论者所说,swift已经发生了很大变化,Xcode也是如此。如果你完成这本书,那么与使用当前工具(和当前语言)的人相比,你仍然处于极大的劣势。

我建议您尝试使用“HackingWithSwift”网站获取免费资源,以便在https://www.hackingwithswift.com [或类似的东西]开始(40个免费示例教程),然后决定如何继续。您应该使用当前工具,至少使用Swift 3.1,否则您将难以理解新代码。

最后一个想法:自从XCode6天以来,Swift变得更容易了。方法调用/参数现在更加一致且更易于使用。这将有助于使学习过程更顺畅,更愉快。