, поэтому я делаю много обращений к серверу для своего приложения. то, что возвращается, может зависеть от результата работы сервера.
скажем, я делаю вызов API для "foo", который возвращает либо хэш-карту / nsdictionary в случае успеха, либо bool (или 0 для false, что означает, что он не выполнялся).
с моим кодом я приведу его, я полагаю, он должен предполагать, что это была успешная операция. я проверю, получу ли я что-то еще, чего я ожидал, скажем BOOL false.
NSString *mapContext = (NSString *) [call xmlrpcCall:@"load_map" withObjects: [NSArray arrayWithObjects:dataCenter.state,nil]];
NSLog(@"mapContext in loadStateMap: %@", mapContext);
if ([mapContext isKindOfClass:[NSDictionary class]])
{
if ([mapContext objectForKey:@"faultCode"])
{
NSLog(@"mapContext: %@", mapContext);
[self defaultAlert:mapContext titleMsg:@"load_map"];
}
}
здесь я прошу сервер загрузить карту. в случае успеха он вернет строку. в случае сбоя он вернет словарь с кодом ошибки и сообщением об ошибке. Так как mapContext создается в виде строки, когда я проверяю, является ли это словарь, и проверяю код ошибки ключа, xcode выдает мне предупреждение, что mapContext может не отвечать на «objectForKey». Я полностью понимаю, почему я получаю предупреждение, но есть ли способ, как я могу предотвратить предупреждение? оно никогда не ломает приложение, но раздражает видеть более 30 предупреждений об этой проблеме.