Tôi đã cố gắng hết sức, đã tra cứu mọi câu hỏi tương tự liên quan đến vấn đề này trên StackOverflow và cố gắng không có kết quả.ios Lỗi gây tử vong nhanh chóng: sử dụng trình khởi tạo chưa thực hiện 'init()'
class TimeLineTableViewController: UITableViewController,
UIImagePickerControllerDelegate, UINavigationControllerDelegate {
var timelineData = [PFObject]()
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
override func viewDidLoad() {
super.viewDidLoad()
self.loadData()
}
@IBAction func loadData(){
timelineData.removeAll(keepCapacity: false)
var findTimelineData:PFQuery = PFQuery(className:"timelineMessages")
findTimelineData.findObjectsInBackgroundWithBlock
{
(objects:[AnyObject]! , error:NSError!) -> Void in
if error == nil
{
self.timelineData = objects.reverse() as [PFObject]
//let array:NSArray = self.timelineData.reverseObjectEnumerator().allObjects
// self.timelineData = array as NSMutableArray
self.tableView.reloadData()
}
}
}
override func viewDidAppear(animated: Bool) {
var footerView:UIView = UIView(frame: CGRectMake(0, 0, self.view.frame.size.width, 50))
self.tableView.tableFooterView = footerView
var logoutButton:UIButton = UIButton.buttonWithType(UIButtonType.System) as UIButton
logoutButton.frame = CGRectMake(20, 10, 50, 20)
logoutButton.setTitle("Logout", forState: UIControlState.Normal)
logoutButton.addTarget(self, action:"logout:", forControlEvents: UIControlEvents.TouchUpInside)
footerView.addSubview(logoutButton)
}
Để làm rõ, timelineTableViewController có một lớp kế thừa, MessageTableCell. Nó cũng là một phần của một dự án mà tôi đã tích hợp vào mã Objective-C, vì vậy nó là sự kết hợp của cả Swift và ObjC. Tôi đã chạy cả hai dự án (một trong những nhanh chóng và ObjC một) độc lập và họ làm việc tốt; chỉ khi tôi cố gắng chạy nó cùng nhau thì họ mới làm hỏng. Bất kỳ đề xuất? Tôi đang thua lỗ hoàn toàn.
Xin chào, tôi đã thử sử dụng đề xuất cuối cùng 'xóa triển khai init (coder aDecoder: NSCoder) nhưng khi tôi đã làm, nó có lỗi. Bạn có nghĩa là trong các lớp khác? Đó là TimelineTableViewController -> MessageTableViewCell. – Tam
Hi @Tam, bạn đã triển khai bất kỳ bộ khởi tạo nào trong 'TimelineTableViewController' hoặc trong' MessageTableViewCell' và chúng không làm gì ngoài việc chỉ gọi trình khởi tạo của siêu? Bạn không cần phải ghi đè bất kỳ trình khởi tạo nào trừ khi bạn có một số initiailzation tùy chỉnh phải được thực hiện khi khởi tạo. –
Tôi đã thêm mã bạn đã có cho cả hai. Có MessageTableViewCell cần một cái gì đó khác nhau? Ngoài ra, tôi có một segue push đến một UIViewController gọi là ComposeViewController. Mã ban đầu hoạt động trong cả ba (ngoại trừ MessageTableViewCell, nơi tôi không bao gồm nó) trong dự án ban đầu nhưng không phải là dự án kết hợp. – Tam