0
swift(3)和xcode(8)的新手,我正在使用firebase在tableview中加載一些數據。當我嘗試構建應用程序時,出現錯誤:當我調用WhiskeyItem的一個實例時,在線上的fetchWhiskey函數中出現「參數wName在調用中缺少參數」。我無法弄清楚爲什麼會出現這個錯誤。誰能幫我嗎?在調用中缺少參數參數
這裏是我的類:
import UIKit
class WhiskeyItem {
let wName: String
let wType: String
init(wName: String, wType: String) {
self.wName = wName
self.wType = wType
}
}
和這裏的,即時通訊試圖加載數據的實現代碼如下:
import UIKit
import Firebase
import FirebaseDatabase
class FirstViewTableViewController: UITableViewController, UISearchBarDelegate {
let whiskeySearchBar = UISearchBar()
var ref: FIRDatabaseReference?
var refHandle: UInt!
var whiskeyList = [WhiskeyItem]()
let cell = "cell"
override func viewDidLoad() {
super.viewDidLoad()
createWhiskeySearchBar()
//Display Firebase whiskey data:
ref = FIRDatabase.database().reference()
fetchWhiskey()
}
func createWhiskeySearchBar() {
whiskeySearchBar.showsCancelButton = false
whiskeySearchBar.placeholder = "Search whiskeys"
whiskeySearchBar.delegate = self
self.navigationItem.titleView = whiskeySearchBar
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return whiskeyList.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)
// Configure the cell...
cell.textLabel?.text = whiskeyList[indexPath.row].wName
return cell
}
func fetchWhiskey() {
refHandle = ref?.child("whiskey").observe(.childAdded, with: { (snapshot) in
if let dictionary = snapshot.value as? [String : AnyObject] {
print(dictionary)
let whiskeyItemInstance = WhiskeyItem()
whiskeyItemInstance.setValuesForKeys(dictionary)
self.whiskeyList.append(whiskeyItemInstance)
DispatchQueue.main.async {
self.tableView.reloadData()
}
}
})
}
那麼,你對WhiskeyItem *初始化*需要兩件 - 至少由大家展示一下代碼。 * wName *和* wType *。然而,再次,你所顯示的代碼 - 你也不提供。我的問題是爲什麼你認爲這是Swift 3?看起來(對我而言)更基本。此代碼**有沒有**工作? – dfd