的cellForRowAtIndexPath不會被調用(numberOfRowsInSection是),使用的UITableViewController具有以下方式:的cellForRowAtIndexPath從未稱爲的UITableViewController
import UIKit
import EventKit
class EventThisWeekController: UITableViewController {
var eventStore: EKEventStore = EKEventStore()
var eventsThisWeek: [EKEvent] = []
override func viewDidLoad() {
super.viewDidLoad()
self.eventStore.requestAccessToEntityType(.Event) {
(granted, error) -> Void in
guard granted else { fatalError("Permission denied") }
let endDate = NSDate(timeIntervalSinceNow: 604800)
let predicate = self.eventStore.predicateForEventsWithStartDate(NSDate(),
endDate: endDate,
calendars: nil)
self.eventsThisWeek = self.eventStore.eventsMatchingPredicate(predicate)
print(self.eventsThisWeek.count)
}
}
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
print("cellForRowAtIndexPath")
let cell = UITableViewCell(style: .Default, reuseIdentifier: nil)
cell.textLabel?.text = self.eventsThisWeek[indexPath.row].title
return cell
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
print("numberOfRowsInSection")
return eventsThisWeek.count
}
}
數據源和委託被分配給該控制器和EvenThisWeekController是在主要故事板設計的類。因此,在我的應用程序表中顯示沒有任何結果。當然,eventThisWeek數組的長度不等於0.任何想法我可以如何解決它?
您是否在故事板中設置了控制器的子類?另外,您是否向故事板添加了「UITableViewController」或「UIViewController」? – Fogmeister
@Fogmeister是的,我在* Custom class *部分中設置了EventThisWeekController,並且我在故事板中使用的控制器是UITableViewController – jgd
是否調用了numberOfRows方法? – Fogmeister