Jones
Jones

Reputation: 23

Returning multiple array items in a loop swift

I need help. I am trying to bring back separate two array items so that I can apply separate formatting to each i.e. a title and notes. Hence, I cannot bring back one single array.

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)
}

I have also tried:

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

And

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

The text and text2 are needed for my init:

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)
}

Upvotes: 0

Views: 70

Answers (1)

Shehata Gamal
Shehata Gamal

Reputation: 100503

You can try

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

OR

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

Upvotes: 1

Related Questions