Swift 如何运行循环?

Swift 如何运行循环?,swift,Swift,如何将此代码放入for循环,并让它在循环第二次运行时将MainArray的值更改为FamilyTwo,在循环第三次运行时将familyTree,等等。发射型计算机断层扫描仪。?当我在ViewController之前放置for循环时,经常会出现错误“Expression not allowed on top level”。我不确定您试图实现什么,但是如果您只是想在运行时使用族集更改MainArray的值,可以将它们存储在新集合中 import UIKit import Foundation va

如何将此代码放入for循环,并让它在循环第二次运行时将MainArray的值更改为FamilyTwo,在循环第三次运行时将familyTree,等等。发射型计算机断层扫描仪。?当我在ViewController之前放置for循环时,经常会出现错误“Expression not allowed on top level”。

我不确定您试图实现什么,但是如果您只是想在运行时使用族集更改MainArray的值,可以将它们存储在新集合中

import UIKit
import Foundation

var FamilyOne = ["Sarah", "Female", "Granddaughter"]
var FamilyTwo = ["Isabel", "Female", "Granddaughter"]
var FamilyThree = ["Maya", "Female", "Granddaughter"]
var FamilyFour = ["Jean", "Female", "Daughter"]
var FamilyFive = ["Jennie", "Female", "Daughter"]

var MainArray = FamilyOne

var FemaleArray = ["Ava", "Mary", "Ann", "Carolina", "Jessica", "Emily",     "Elizabeth"]
var Photo = MainArray[0]
var SImage = UIImage(named: Photo)

var Gender = MainArray[1]
var Relation = MainArray[2]

class ViewController: UIViewController, UIImagePickerControllerDelegate,
    UINavigationControllerDelegate {

    @IBOutlet var image: UIImageView!
    @IBOutlet var label: UILabel!
    @IBOutlet var ButtonOne: UIButton!
    @IBOutlet var BUttonTwo: UIButton!
    @IBOutlet var ButtonThree: UIButton!
    @IBOutlet var BUtton4: UIButton!

    var SimageView = UIImageView(image: SImage!)

    override func viewDidLoad() {
        super.viewDidLoad()

        label.text = ("What is the name of your \(Relation) ?")

        SimageView.frame = CGRect(x: 67, y: 40, width: 240, height: 128)
        view.addSubview(SimageView)

        ButtonOne.setTitle(FemaleArray[4], for: UIControlState.normal)
        BUttonTwo.setTitle(MainArray[0], for: UIControlState.normal)
        ButtonThree.setTitle(FemaleArray[5], for: UIControlState.normal)
        BUtton4.setTitle(FemaleArray[2], for: UIControlState.normal)
    }
}

如果在函数或类外部编写循环,则顶层不允许使用表达式是正常的。

如果每个数组都表示一个族成员,则最好创建一个自定义类来表示每个数组。您可以将它命名为FamilyMember之类的名称,并为它指定名称、性别和关系之类的字符串属性。如果您不熟悉ViewController的生命周期。
var FamilyOne = ["Sarah", "Female", "Granddaughter"]
var FamilyTwo = ["Isabel", "Female", "Granddaughter"]
var FamilyThree = ["Maya", "Female", "Granddaughter"]
var FamilyFour = ["Jean", "Female", "Daughter"]
var FamilyFive = ["Jennie", "Female", "Daughter"]
let Families = [FamilyOne, FamilyTwo, FamilyThree, FamilyFour, FamilyFive]

var MainArray = FamilyOne //set initial value?

override func viewDidLoad() {
    super.viewDidLoad()
    //loop here
    for family in Families{
       MainArray = family
    }
}