Ho appena aggiornato il mio progetto a 1.2 rapido. E dopo 5 o 6 azioni consecutive "Converti in ultima Swift" :), sono riuscito a farcela compilare. Poi ho fallito un sacco di test dell'interfaccia utente. Era dovuto al fatto che il mio 'NSFetchedResultsControllerDelegate' non era più chiamato.Rilevato delegato risultato controller non richiamato dopo aggiornamento rapido 1.2/xcode 6.3
Dopo (potrei dire) un tentativo molto fortunato, ho scoperto che ciò è dovuto al fatto che il mio delegato non era un NSObject. Quindi sono stato in grado di risolverlo sottoclassi NSObject o aggiungendo @obj.
Prima:
class BasicFetchedResultControllerDelegate : NSFetchedResultsControllerDelegate
Dopo:
class BasicFetchedResultControllerDelegate : NSObject, NSFetchedResultsControllerDelegate
Non credo che ho visto qualcosa legato a questo nel registro delle modifiche. Quali sono i cambiamenti che portano a questo. Hai notato altre modifiche come questa?
Sono stato sbattere la testa per giorni chiedendo perché metodi delegato non vengono chiamati fino a quando ho trovato questo problema. Apple dovrebbe contrassegnarlo come errore di compilazione. Lezione appresa: non esitare a rendere le classi Swift ereditate NSObject. – hebinda
Quando provo ad aggiungere NSObject nella mia classe ottengo ** ereditarietà multipla dalle classi 'UITableViewController' e 'NSObject' **, mentre l'aggiunta della dichiarazione @objc() non rende il metodo come dovrebbe. Cos'altro potrei provare? – carlodurso
Un'altra avvertenza, Swift ignorerà silenziosamente i metodi delegate nelle classi generiche, anche se la classe estende 'NSObject' o usa' @ objc', ad es. 'classe F: NSObject, NSFetchedResultsControllerDelegate' fallirà silenziosamente. –