Так что я некоторое время застрял в этом, и я просмотрел много сообщений в Stackoverflow, но я все еще не могу понять, как решить проблему проблема. Мне кажется, что «dict» предполагается преобразовать в строку, поэтому я попытался это разными способами, например, используя NSString *myString = [NSNumber stringValue];
, [NSString stringWithFormat:@"%d", dict[@"id"]];
и некоторые другие. Вот код:- [__ NSCFNumber objectForKeyedSubscript:]: непризнанный селектор, отправленный в экземпляр
for (NSDictionary *dict in self.params) {
NSString *value = dict[@"id"];
if (value) {
[parameters appendFormat:@"&ids[]=%@", value];
}
}
Я получаю ошибку на этой линии: NSString *value = dict[@"id"];
Выход на консоль показывает:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFNumber objectForKeyedSubscript:]: unrecognized selector sent to instance 0xb00000000000a313'
Я думаю, что проблема в том, что она не кажется для правильного преобразования в строку. Строка показывает dict как NSCFNumber (long) 2609. Как я могу преобразовать его в строку?
Вы уверены, что 'self.params' содержит только' объекты NSDictionary' ? Кажется, что в нем есть объект NSNumber, а не объект NSDictionary. – Larme
@ Larme ohh, self.params содержит один объект NSDictionary и один объект NSNumber – coderdojo
@ Larme, как его можно преобразовать? – coderdojo