Chciałbym rzutować dynamicznie w Objective C i uzyskać dostęp do właściwości instancji. Oto kod pseudo:Typ dynamiczny rzutowania z id do klasy w celu c
id obj;
if (condition1)
obj = (Class1*)[_fetchedResults objectAtIndex:indexPath.row];
else
obj = (Class2*)[_fetchedResults objectAtIndex:indexPath.row];
NSNumber *latitude = obj.latitude;
Następnie kompilator mówi mi, co następuje: własność „szerokości geograficznej” nie znaleziono obiektu typu „__strong id”
Albo Class1 i Class2 to główne podmioty danych i mają prawie ten sam rodzaj atrybutów. W warunkach1 _fetchedResults zwraca obiekty typu Class1 i condition2 _fetchedResults zwraca obiekty typu Class2.
Czy ktoś mógłby dać mi wskazówkę, jak rozwiązać ten problem?
Dzięki!
Myślę, że powinieneś najpierw upewnić się, że to, co zwraca [_fetchedResults objectAtIndex: indexPath.row], jest klasą ma właściwość szerokość geograficzna. Również rzutowanie typu NSManagedObject na typ NSManagedObject jest również niepoprawne. Potrzebujesz NSManagedObjectContext za każdym razem i jakkolwiek tworzysz instancję NSManagedObject. –