我正在尝试从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。
答案 0 :(得分:0)
swift编译器认为上下文是Any类型的对象,因此您无法直接访问对象的属性 - 尝试将Any类型的对象强制转换为对象类型,如:
if let movie = context as? Movie {
print("Movie: \(movie.name), dir. \(movie.director)")
}
或者您可以尝试使用UNSAFE和我的NONRECOMENDED选项:
context.value(forKey: "name")