gpt4 book ai didi

ios - TableView 不显示单元格

转载 作者:行者123 更新时间:2023-11-28 19:25:15 25 4
gpt4 key购买 nike

我是初学者,很抱歉,如果这是一个愚蠢的问题。我正在尝试创建一个从 Firebase Realtime DB API 加载数据的 TableView 。我想我设置正确,它不会引发任何错误或崩溃。但是,它也没有调用 cellsForRowAt 方法。因此,它不显示任何单元格。它显示了线条,它们可以滚动并弹跳,但它们是默认宽度。它确实调用了 numberOfRowsInSection 方法,我已经通过控制台日志验证了这一点。这是整个 View Controller ...

class UpcomingTableViewController: UITableViewController {


var upcomingPosts = [upcomingPost]()

override func viewDidLoad() {
super.viewDidLoad()
print("loaded")
let ref: DatabaseReference
ref = Database.database().reference()
let dbref = ref.child("auctionHandler").child("upcoming")
dbref.queryOrderedByKey().observe(DataEventType.childAdded, with: { (snapshot) in
let snapshot = snapshot.value as! NSDictionary
let shoe = snapshot["name"] as! String
let colorway = snapshot["colorway"] as! String
let date = snapshot["date"] as! String
let newPost = upcomingPost(shoe: shoe, colorway: colorway, date: date)
self.upcomingPosts.insert(newPost, at: 0)
//print(self.upcomingPosts)
self.tableView.reloadData()
})
}
override func viewDidAppear(_ animated: Bool) {
self.tableView.reloadData()
}
override func numberOfSections(in tableView: UITableView) -> Int {
// #warning Incomplete implementation, return the number of sections
return 0
}

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// #warning Incomplete implementation, return the number of rows
print(upcomingPosts.count)
return upcomingPosts.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
print("ran")
let cell = tableView.dequeueReusableCell(withIdentifier: "upcoming", for: indexPath)

let shoe = cell.viewWithTag(1) as! UILabel
shoe.text = upcomingPosts[indexPath.row].shoe

let colorway = cell.viewWithTag(2) as! UILabel
colorway.text = upcomingPosts[indexPath.row].colorway
print(cell)
print("------")
return cell
}
}

在此先感谢您的帮助!

更新:我删除了 numberOfSections,它抛出了这个崩溃

(
0 CoreFoundation 0x00007fff23c4f02e __exceptionPreprocess + 350
1 libobjc.A.dylib 0x00007fff50b97b20 objc_exception_throw + 48
2 CoreFoundation 0x00007fff23c4ebf9 -[NSException raise] + 9
3 Foundation 0x00007fff256f2ef3 -[NSObject(NSKeyValueCoding) setValue:forKey:] + 325
4 UIKitCore 0x00007fff47d3410f -[UIView(CALayerDelegate) setValue:forKey:] + 171
5 UIKitCore 0x00007fff474b9a32 -[UIRuntimeOutletConnection connect] + 109
6 CoreFoundation 0x00007fff23c3b052 -[NSArray makeObjectsPerformSelector:] + 242
7 UIKitCore 0x00007fff474b6bda -[UINib instantiateWithOwner:options:] + 2190
8 UIKitCore 0x00007fff47a3a229 -[UITableView _dequeueReusableViewOfType:withIdentifier:] + 610
9 UIKitCore 0x00007fff47a3a865 -[UITableView _dequeueReusableCellWithIdentifier:forIndexPath:usingPresentationValues:] + 496
10 UIKitCore 0x00007fff47a3a641 -[UITableView dequeueReusableCellWithIdentifier:forIndexPath:] + 91
11 Sole Club 0x000000010e306031 $s9Sole_Club27UpcomingTableViewControllerC05tableE0_12cellForRowAtSo07UITableE4CellCSo0lE0C_10Foundation9IndexPathVtF + 577
12 Sole Club 0x000000010e3068c5 $s9Sole_Club27UpcomingTableViewControllerC05tableE0_12cellForRowAtSo07UITableE4CellCSo0lE0C_10Foundation9IndexPathVtFTo + 165
13 UIKitCore 0x00007fff47a5468e -[UITableView _createPreparedCellForGlobalRow:withIndexPath:willDisplay:] + 781
14 UIKitCore 0x00007fff47a1d667 -[UITableView _updateVisibleCellsNow:] + 3081
15 UIKitCore 0x00007fff47a3d78b -[UITableView layoutSubviews] + 194
16 UIKitCore 0x00007fff47d34d01 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 2478
17 QuartzCore 0x00007fff2b138d41 -[CALayer layoutSublayers] + 255
18 QuartzCore 0x00007fff2b13ef33 _ZN2CA5Layer16layout_if_neededEPNS_11TransactionE + 517
19 QuartzCore 0x00007fff2b14a86a _ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE + 80
20 QuartzCore 0x00007fff2b0917c8 _ZN2CA7Context18commit_transactionEPNS_11TransactionEd + 324
21 QuartzCore 0x00007fff2b0c6ad1 _ZN2CA11Transaction6commitEv + 643
22 QuartzCore 0x00007fff2b0c743a _ZN2CA11Transaction17observer_callbackEP19__CFRunLoopObservermPv + 76
23 CoreFoundation 0x00007fff23bb1617 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
24 CoreFoundation 0x00007fff23bac0ae __CFRunLoopDoObservers + 430
25 CoreFoundation 0x00007fff23bac72a __CFRunLoopRun + 1514
26 CoreFoundation 0x00007fff23babe16 CFRunLoopRunSpecific + 438
27 GraphicsServices 0x00007fff38438bb0 GSEventRunModal + 65
28 UIKitCore 0x00007fff4784fb48 UIApplicationMain + 1621
29 Sole Club 0x000000010e3236bb main + 75
30 libdyld.dylib 0x00007fff51a1dc25 start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException

更新:错误消息标题

*** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UITableViewCell 0x7fdc62e847f0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key colorway.'
*** First throw call stack:

最佳答案

删除这个

override func numberOfSections(in tableView: UITableView) -> Int {
// #warning Incomplete implementation, return the number of sections
return 0
}

你告诉表格 num of sections 将是 0 ,然后你希望它如何显示任何东西


尝试

var once  = true // add this as an instance var 

self.upcomingPosts.insert(newPost, at: 0)
if once {
DispatchQueue.main.asyncAfter(deadline: .now() + 1.0 ) {
self.tableView.reloadData()
self.once = false
}
}

关于ios - TableView 不显示单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59417477/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com