创建了一个名为employee的类,如下所示:

class Employees: NSObject {

    var name: String
    var employeeRoles: [String]
    var departmentID: Int

    init(name:String, employeeRoles:[String], departmentID:Int){
        self.name = name
        self.employeeRoles = employeeRoles
        self.departmentID = departmentID
    }
}


在视图中,有一个文本字段,您可以在其中输入当然是字符串的员工角色。我试图将哪些信息输入到其各自的字段中,创建一个新的Employees对象并将其打印到调试控制台。但是,我们尝试将输入的字符串带入视图的以下行使程序崩溃,并且不提供任何有关原因的进一步信息:

let newEmployee = Employees(name:  (employeeFirstNameInputField.text! + " " +  (employeeLastNameInputField.text)!), employeeRoles:  (employeeListingInputField.text as? [String])!, departmentID: 0)

    print(newEmployee.name)


我在哪里错了?

最佳答案

假设您的文本字段声明为weak var textField: UITextField!,那么您将像这样创建新员工。

let name = employeeFirstNameInputField.text + " " +  employeeLastNameInputField.text
let listings = employeeListingInputField.text.componentsSeparatedByString("\n")
let newEmployee = Employees(name: name, employeeRoles: listings, departmentID: 0)


您需要将列表文本字段中返回的字符串拆分为字符串数组。每个新的数组元素都由换行符分隔。还有其他方法可以做到这一点(例如调用split)。

关于ios - swift 将具有数组作为属性的自定义对象初始化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36118020/

10-12 00:02
查看更多