Ho cercato molto duramente, ho cercato tutte le domande simili relative a questo problema su StackOverflow e cercando inutilmente.errore irreversibile ios Swift: uso dell'inizializzatore non implementato '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)
}
Per chiarire, timelineTableViewController ha una classe che eredita, MessageTableCell. Fa parte anche di un progetto che ho integrato nel codice Objective-C, quindi è una combinazione di Swift e ObjC. Ho eseguito entrambi i progetti (quello rapido e quello ObjC) in modo indipendente e funzionano bene; è solo quando provo a farlo funzionare insieme. Eventuali suggerimenti? Sono completamente perduto per questo.
Ciao, ho provato a utilizzare l'ultimo suggerimento 'elimina l'implementazione di init (coder aDecoder: NSCoder) ma quando l'ho fatto, ha ottenuto degli errori. Intendevi all'interno di altre classi? È TimelineTableViewController -> MessageTableViewCell. – Tam
Ciao @Tam, hai implementato eventuali inizializzatori in 'TimelineTableViewController' o in' MessageTableViewCell' e non fanno altro che chiamare gli inizializzatori di super? Non è necessario sovrascrivere eventuali inizializzatori a meno che non si disponga di un'inizializzazione personalizzata da eseguire durante l'inizializzazione. –
Ho aggiunto il codice che avevi a entrambi. MessageTableViewCell ha bisogno di qualcosa di diverso? Inoltre, ho un push seguito a un UIViewController chiamato ComposeViewController. Il codice originale funziona in tutti e tre (tranne per MessageTableViewCell, dove non l'ho incluso) nel progetto originale ma non nel progetto combinato. – Tam