Podejrzewam, że jest to coś bardzo prostego, ale próbuję uzyskać int, które zapisałem w słowniku i linii Używam jest to .."Niekompatybilny wskaźnik do konwersji całkowitej inicjalizujący" int "z wyrażeniem typu" NSNumber * ""
int mapX = [NSNumber numberWithInt:[templateObject valueForKey:@"mapX"]];
Ale to daje mi błąd ...
Niezgodny wskaźnik do liczby całkowitej konwersji wysyłania 'id' do parametru typu 'int'
i
Niezgodny wskaźnik liczbę całkowitą konwersję inicjowanie 'int' z ekspresji typu 'NSNumber *';
Gdy próbuję ...
NSNumber *mapX = [NSNumber numberWithInt:[templateObject valueForKey:@"mapX"]];
I w zasadzie ten sam błąd. Wiem, że prawdopodobnie używam niewłaściwej składni, ale nie jestem pewien, jak inaczej to napisać.
Dzięki za pomoc.
"wtedy [templateObject valueForKey: @" mapX "] również nie jest int." - w jaki sposób może być liczbą całkowitą **? '' NSDictionary' może przechowywać tylko obiekty, a nie skalary. –
Przyimek o nieokreślonym brzmieniu – WDUK
"powinien naprawdę być [templateObject objectForKey: @" mapX "], chyba że masz pewność, że używasz kodowania klucz-wartość" - to również nieprawda, 'nadpisania NSDictionary'' - valueForKey: 'a jest równoważne do '- objectForKey:' jeśli ciąg klucza nie zaczyna się od symbolu '@ '(wydaje mi się, że ciąg' mapX' nie zaczyna się od jednego). –