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