Swift - 访问对象属性 - 如何

时间:2017-03-03 13:01:44

标签: ios swift

我正在尝试从WKInterfaceController访问对象属性,但是我对Swift缺乏了解并开始大放异彩。

让我说我进行API调用并通过pushController()将响应传递给控制器​​。以下是我的代码的一些片段:

override func awake(withContext context: Any?) {
        super.awake(withContext: context)
        // I know context is an object, how to access its elements
}

context中的数据与{"user":"me","pw":"wouldntyouliketoknow","host":"google.com"}类似。有人请告诉我如何才能访问context.host?加班我试图访问对象属性,我得到编译器的错误,如host is an unknown property

此外,无法将上下文转换为真正键入NSObject或AnyObject。

1 个答案:

答案 0 :(得分:0)

swift编译器认为上下文是Any类型的对象,因此您无法直接访问对象的属性 - 尝试将Any类型的对象强制转换为对象类型,如:

if let movie = context as? Movie {
        print("Movie: \(movie.name), dir. \(movie.director)")
}

或者您可以尝试使用UNSAFE和我的NONRECOMENDED选项:

context.value(forKey: "name")