Изправен съм пред много странен проблем. Опитвам се да разбера какво се случва. Просто казано, опитвах се да вмъкна NSInteger в NSMutableArray. ключове е NSMutableArray. ключът е от тип NSInteger.
[keys insertObject: [NSNumber numberWithInteger: key] atIndex:insPoint];
В конзолата xcode. Виждам key=(NSInteger) -1. така че типът е NSInteger и стойността е -1. Въпреки това, когато стартирам горните кодове и проверявам какво има в ключовете. Показва (_NSCFNumber *) дълго 7205759403792935. Ако промених кода на
[keys insertObject: [NSNumber numberWithInt: key] atIndex:insPoint];
Показва правилно (_NSCFNumber *) int -1. Опитах и NSLog с numberWithInt и numberWithInteger
NSLog(@"%@",[NSNumber numberWithInteger: key]);
NSLog(@"%@",[NSNumber numberWithInt: key]);
Всички показват -1. Аз също опитах
NSInteger a=-2;
[keys insertObject: [NSNumber numberWithInteger: a] atIndex:insPoint];
#also have some wierd number, but it works for positive number
Какъв е проблемът? Някакви предположения?
-1
се вмъква в масива и доколкото разбирам, той се чете неправилно, когато изхвърля съдържанието на масива в конзолата. - person   schedule 21.11.2014