我有一个结构字典,我需要从其中取出一个URL。所以我的问题是,在我可以为SafariServices使用该值之后,如何获取Articles结构值rssUrl才能使用它
struct Article {
let rssUrl: String
let text: String
init(dict: [String : String]){
text = dict["text"] ?? ""
rssUrl = dict["rssUrl"] ?? ""
}
}获取值并在此处使用它
struct dataUrl {
//grab rssUrl to use later as an Url
}发布于 2018-02-21 23:57:58
要扩展@Chris的答案:
您最多需要传递引用Article,这很有趣,因为结构是值类型,而不是引用。
struct Article {
let rssUrl: String
let text: String
init(dict: [String : String]){
text = dict["text"] ?? ""
rssUrl = dict["rssUrl"] ?? ""
}
}
struct dataUrl {
let someOtherURL: URL
//grab rssUrl to use later as an Url
}在某些情况下:
func doSmth() {
let article = Article(dict: dictionary)
// You need to unwrap this first
if let someOtherURL = URL(string: article.rssUrl) {
let dataURL = DataURL(someOtherURL)
}
} 在其他情况下,您可以在dataUrl对象中创建Article依赖项,如下所示,并使用文章初始化它
struct dataUrl {
let article: Article
/// Create get-only variable like this to return immediately.
var someOtherURL: URL? {
return URL(string: article.rssUrl)
}
}发布于 2018-02-21 23:43:24
如果你正在询问如何从你的文章结构中访问一个属性,你只需要使用标准的点符号-
let article = Article(dict: yourdictionaryobject)
article.rssUrl // returns your url https://stackoverflow.com/questions/48909788
复制相似问题