首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何访问另一个结构值

如何访问另一个结构值
EN

Stack Overflow用户
提问于 2018-02-21 23:36:38
回答 2查看 62关注 0票数 0

我有一个结构字典,我需要从其中取出一个URL。所以我的问题是,在我可以为SafariServices使用该值之后,如何获取Articles结构值rssUrl才能使用它

代码语言:javascript
复制
struct Article {
    let rssUrl: String
    let text: String

    init(dict: [String : String]){
        text = dict["text"] ?? ""
        rssUrl = dict["rssUrl"] ?? ""

    }
}

获取值并在此处使用它

代码语言:javascript
复制
struct dataUrl {
    //grab rssUrl to use later as an Url

}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-02-21 23:57:58

要扩展@Chris的答案:

您最多需要传递引用Article,这很有趣,因为结构是值类型,而不是引用。

代码语言:javascript
复制
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

    }

在某些情况下:

代码语言:javascript
复制
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依赖项,如下所示,并使用文章初始化它

代码语言:javascript
复制
  struct dataUrl {

       let article: Article

       /// Create get-only variable like this to return immediately.
       var someOtherURL: URL? {
         return URL(string: article.rssUrl) 
       }

    }
票数 2
EN

Stack Overflow用户

发布于 2018-02-21 23:43:24

如果你正在询问如何从你的文章结构中访问一个属性,你只需要使用标准的点符号-

代码语言:javascript
复制
let article = Article(dict: yourdictionaryobject)
article.rssUrl // returns your url 
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48909788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档