[英]Array of custom objects - Swift
我有这段代码,尝试创建用户数组时遇到问题。
如果我使用“ var userArray:[Users] = FakeData ”, 则会出现以下错误“无法将类型'User_TableViewController->()-> [Users]'的值转换为指定的类型'[Users]'”
如果我使用“ var userArray:[Users] = FakeData() ”, 则会出现以下错误“调用中的参数#1缺少参数”
如果我使用“ var userArray:[用户] = [FakeDate] ”, 则会出现以下错误“使用未解析的标识符'FakeDate'”
问题是什么? 我用光了xD
class User_TableViewController: UITableViewController {
var userArray:[Users] = FakeData()
override func viewDidLoad() {
super.viewDidLoad()
}
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return userArray.count
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let Cell = tableView.dequeueReusableCellWithIdentifier("userCell") as! UserCell_TableViewCell
Cell.userImage.image = userArray[indexPath.row].getImage()
Cell.userDescription?.text = userArray[indexPath.row].getFirstName()
return Cell
}
func FakeData() -> [Users]{
let Person1 = Users(firstName: "Usuario 1", lastName: "Apellido 1", email: "mail1@hotmail.com", password: "1234567", age: "18", gender: "Male", image: UIImage(named: "Apple48x48")!)
let Person2 = Users(firstName: "Usuario 2", lastName: "Apellido 2", email: "mail2@hotmail.com", password: "1234567", age: "18", gender: "Male", image: UIImage(named: "Apple48x48")!)
let Person3 = Users(firstName: "Usuario 3", lastName: "Apellido 3", email: "mail3@hotmail.com", password: "1234567", age: "18", gender: "Male", image: UIImage(named: "Apple48x48")!)
return [Person1, Person2, Person3]
}
}
您应该在方法内部初始化数组,例如viewDidLoad
或init
。 对于属性声明,要么设置
var userArray:[Users]!
要么
var userArray:[Users] = []
然后在内部(例如) viewDidLoad
:
userArray = FakeData()
(惯例也是以小写字母开头的方法,因此, fakeData()
是在您尝试之一中编写FakeDate而不是FakeData的方法,并且变量名也应该以小写字母开头,即单元格而不是Cell)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.