[英]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.