У меня есть этот NSMutableDictionary, и когда я пытаюсь запустить эту функцию, чтобы добавить данные, она вылетает, возвращая JSON, если есть символы, которые не являются буквами (ПРИМЕР будет, если строка (Hello World) пробел между двумя словами приведет к сбою), если я не заменю их символами подчеркивания, как показано ниже. Как заставить его принять любого персонажа?NSMutableDictionary не принимает определенные символы
NSMutableDictionary * dict = [[NSMutableDictionary alloc] init];
NSString *name = [[NSString alloc] initWithUTF8String:msg];
// If the dictionary has any of these characters within it, code breaks.
NSString *prodNameWithUnderscores = [name stringByReplacingOccurrencesOfString:@" " withString:@"_"];
NSString *prodNameWithUnderscores2 = [prodNameWithUnderscores stringByReplacingOccurrencesOfString:@"'" withString:@"_"];
NSString *prodNameWithUnderscores3 = [prodNameWithUnderscores2 stringByReplacingOccurrencesOfString:@"(" withString:@"_"];
NSString *prodNameWithUnderscores4 = [prodNameWithUnderscores3 stringByReplacingOccurrencesOfString:@")" withString:@"_"];
NSString *prodNameWithUnderscores5 = [prodNameWithUnderscores4 stringByReplacingOccurrencesOfString:@"~" withString:@"_"];
NSData *data = [name dataUsingEncoding:NSUTF8StringEncoding];
dict = [NSPropertyListSerialization propertyListWithData:data options:kNilOptions format:NULL error:NULL];**strong text**
return @{ @"name": dict };
Вы можете выводить сообщение, которое вы получаете со своим крахом? –
*** Завершение приложения из-за неперехваченного исключения «NSInvalidArgumentException», причина: «*** - [__ NSPlaceholderDictionary initWithObjects: forKeys: count:]: попытка вставить нулевой объект из объектов [0] ' – WakkaDroid