【发布时间】:2015-02-18 13:27:49
【问题描述】:
我是 Swift 的新手,所以我在这里问的不是为什么它不起作用,而是为什么它起作用。我期待一些不同的东西。我有三个类,一个称为User.swift,带有用户变量、get 方法和构造函数,另一个称为UserList.swift,带有一个数组和一个自定义方法来向其中添加对象,另一个我只是使用此方法将用户添加到此大批。
如您所见,当我调用listManager.addUser(...) 时,我希望在括号之间写出类似这样的内容:name: "random name", surname: "random surname", age: 0 但这给了我一个编译错误,说“调用中的外部参数标签'名称:'”。如果我删除“姓名:”它会起作用,但如果我删除“姓氏:”或“年龄:”它不会。
我会把我的代码放在这里(它就像我说的那样工作,我只需要理解为什么)。
User.swift
import Foundation
class User: NSObject {
private var name: String
private var surname: String
private var age: Int
init(name: String, surname: String, age: Int){
self.name = name
self.surname = surname
self.age = age;
}
func getName() -> String{
return self.name
}
func getSurname() -> String{
return self.surname
}
func getAge() -> Int{
return self.age
}
}
UserList.swift
import UIKit
var listManager: UserList = UserList()
class UserList: NSObject {
var userList = [User]()
func addUser(name: String, surname: String, age: Int){
userList.append(User(name: name, surname: surname, age: age))
}
}
我使用 addUser() 的类
listManager.addUser("random name", surname: "random surname", age: 0)
如您所见,没有“名称:”标签
【问题讨论】:
标签: objective-c arrays object swift constructor