бесплатная база obj-c: ошибка 256

#iphone #objective-c #json #freebase

#iPhone #objective-c #json #бесплатная база

Вопрос:

Я пытаюсь извлечь данные из бесплатной базы, используя obj-c, и я не могу заставить ее работать:

 NSError* error;
NSString* jsonString = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://api.freebase.com/api/service/mqlread?query={"query":[{"guid":"% 9202a8c04000641f80000000000052be"}]}"] encoding:NSASCIIStringEncoding error:amp;error];
  

URL в порядке (я проверил вручную в своем браузере), но jsonString равен нулю, а ошибка:

Ошибка Domain=NSCocoaErrorDomain Code = 256 «Не удалось завершить операцию. (Ошибка Cocoa 256.)» userInfo=0x4e4de80 {}

Что-то не так с кодировкой? Я заменил # в URL на #.

Ответ №1:

Убедитесь, что в вашем URL-адресе нет пробелов — в значении guid есть пробел. Используйте для кодирования пробелов.

Кроме того, идеальным идентификатором для использования с Freebase является ‘mid’ (запрашивайте ‘mid’ : null в вашем запросе).