Vorrei eseguire il cast dinamico in Objective C e accedere alle proprietà dell'istanza. Ecco un codice pseudo:Trasmissione di tipi dinamici dall'ID alla classe nell'obiettivo c
id obj;
if (condition1)
obj = (Class1*)[_fetchedResults objectAtIndex:indexPath.row];
else
obj = (Class2*)[_fetchedResults objectAtIndex:indexPath.row];
NSNumber *latitude = obj.latitude;
Poi il compilatore mi dice il seguente: proprietà 'di latitudine' non trovato in oggetto di tipo '__strong id'
In entrambi i Class1 e Class2 sono entità di dati di base e hanno quasi lo stesso tipo di attributi. In condizione1 _fetchedResults restituisce oggetti di tipo Classe1 e in condizione2 _fetchedResults restituisce oggetti di tipo Classe2.
Qualcuno potrebbe darmi un suggerimento su come risolvere questo tipo di problema?
Grazie!
Penso che dovresti assicurarti in primo luogo che cosa restituisce [_fetchedResults objectAtIndex: indexPath.row] se la classe ha la proprietà latitude. Inoltre, non è possibile eseguire il cast di un tipo NSManagedObject none su un tipo NSManagedObject. È necessario un NSManagedObjectContext ogni volta e tuttavia si crea un'istanza NSManagedObject. –