创建了一个名为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/