Xcode 8 beta 6 AnyObject Swift 3更改

ada*_*ter 7 xcode swift3 xcode8-beta6

Xcode beta 6改变了一些Swift语言

由于'id'现在导入为'Any'而不是'AnyObject',因此您可能会看到先前在'AnyObject'上执行动态查找的错误.

我已经尝试将修复程序在执行动态查找之前显式转换为AnyObject,或者强制转换为特定的对象类型

但我不确定我是否正确地做到了 - 有人可以帮助请在这里是来自Beta 5的原始工作代码

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! SpecialCell
        let maindata = values[(indexPath as NSIndexPath).row]
        cell.name.text = maindata["name"] as? String
        cell.id.text = maindata["id"] as? String
        //team_id.text = maindata["team_id"] as? String

        return cell
    }
Run Code Online (Sandbox Code Playgroud)

https://www.dropbox.com/s/ln0vx3b9rbywv83/Screen%20Shot%202016-08-18%20at%2014.32.23.png?dl=0

vad*_*ian 7

根据beta 6发行说明你必须(桥接)演员 AnyObject

cell.name.text = (maindata["name"] as AnyObject) as? String
Run Code Online (Sandbox Code Playgroud)

或强迫

cell.name.text = maindata["name"] as! String
Run Code Online (Sandbox Code Playgroud)

这是使用不同属性类型而不是常见字典的自定义类/结构的另一个原因.