2016-07-11 55 views
6

Ho appena installato Xcode 8 beta 2 e iOS 10 beta. Ho un progetto esistente in cui ho aggiornato da rapido 2.3 a swift 3 basato su un prompt di Xcode. Ho ricevuto un errore con il mio codice dati del codice.Il tipo 'AnyObject' non è conforme al protocollo 'NSFetchRequestResult'

questo è stato generato automaticamente nella conversione da SWIFT 2.3 a rapida 3 da Xcode

var fetchedResultsController: NSFetchedResultsController<AnyObject>! 

l'errore che sto ricevendo è

Type 'AnyObject' does not conform to protocol 'NSFetchRequestResult' 

ho cercato di conformarsi ANYOBJECT

extension AnyObject: NSFetchRequestResult {} 

Ma ricevo un altro errore

enter image description here

Non sono sicuro di cosa devo fare o se il mio recuperatoResultsController deve essere modificato in primo luogo.

RISPOSTA: var fetchedResultsController: NSFetchedResultsController<Content>!

+4

Che altro come "NSManagedObject" (o una sottoclasse) si desidera utilizzare in "NSFetchedResultsController'? – vadian

+0

@vadian class Contenuto: NSManagedObject. È questo ciò che stai chiedendo? – Asdrubal

+0

In realtà è una domanda retorica: 'NSFetchedResultsController' funziona solo con' NSManagedObject' che è conforme a 'NSFetchRequestResult'. Estendere 'NSFetchRequestResult' a' AnyObject' è inutile. – vadian

risposta

7

Il convertitore di Xcode probabile era confuso su ciò che Entity si voleva tornare in questo controller risultati inverosimile. Sostituire AnyObject con il tipo di entità che si sta recuperando.

Si dovrebbe aprire un radar (bugreporter.apple.com) su questo, poiché non dovrebbe mai suggerire AnyObject qui. Nel peggiore dei casi dovrebbe suggerire NSManagedObject.

+0

Sono stato in grado di rimuovere l'errore con il codice: var fetchedResultsController: NSFetchedResultsController ! – Asdrubal