【问题标题】:Returning multiple array items in a loop swift在循环中快速返回多个数组项
【发布时间】:2020-10-31 09:09:12
【问题描述】:

我需要帮助。我试图带回单独的两个数组项,以便我可以对每个项应用单独的格式,即标题和注释。因此,我无法带回一个数组。

let pageTitle: [String] = runs.map({ $0.title })
let pageContent: [String] = runs.map({ $0.notes! })

for text in pagesTitle {
    let vc = TextViewController(with: text, text2: nil)
    myControllers.append(vc)
}
            
for text2 in pagesContent {
    let vc = TextViewController(with: nil, text2: text2)
    myControllers.append(vc)
}

我也试过了:

for text in pageTitle, pageContent {
    let vc = TextViewController(with: text, text2)
    myControllers.append(vc)
}

for text in pageTitle {
    for text2 in pageContent {
        let vc = TextViewController(with: text, text2)
        myControllers.append(vc)
    }
}

我的 init 需要 text 和 text2:

init(with text: String, text2: String) {
    self.myText = text
    self.myText2 = text2
    myTextView.text = self.myText
    myTextView2.text = self.myText2
    super.init(nibName: nil, bundle: nil)
}

【问题讨论】:

    标签: arrays swift xcode for-loop swift5


    【解决方案1】:

    你可以试试

    let myControllers = runs.map {  TextViewController(with:$0.title, text2:$0.notes!) }
    

    let myControllers = zip(pageTitle,pageContent).map {  TextViewController(with:$0, text2:$1)  }
    

    【讨论】:

    • 嗨@Sh_Khan 我会在for循环中放什么?您的建议不起作用,因为我需要一个 for 循环来生成所需数量的 VC。
    • 我不明白,我以为我需要一个 for 循环来生成所需数量的 VC?
    • let myControllers = 是你需要的答案
    • 当我删除 for 循环并放入上面时,我不再生成任何视图控制器?
    • 我相信我需要 for 循环来生成 vcs 的数量,否则 swift 将如何知道要生成多少个 vis? @sh_khan
    猜你喜欢
    • 2013-08-25
    • 1970-01-01
    • 2015-02-16
    • 2017-02-20
    • 2022-01-24
    • 2016-03-28
    • 2015-12-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多