У меня есть набор ключевых слов, которые передаются через JSON из БД (в кодировке UTF-8), некоторые из которых могут иметь специальные символы, такие как é, è, ç и т. Д. Это используется как часть автозаполнения. Пример:
array('Coffee', 'Cappuccino', 'Café');
Я должен добавить, что массив в том виде, в каком он поступает из БД, будет:
array('Coffee', 'Cappuccino', 'Café');
Но JSON кодируется как:
["coffee", "cappuccino", null];
Если я распечатаю их через print_r (), они будут отлично отображаться в кодировке UTF-8 веб-страница, но café отображается как "cafà ©", если используется text / plain, если я хочу посмотреть на массив с помощью print_r ($ array); exit ();.
Если я кодирую с помощью utf8_encode () перед кодированием в JSON, это нормально, но на веб-странице печатается «cafeà ©», а не «cafe».
Также странно, но json_last_error () рассматривается как неопределенная функция, Поскольку он сохраняется в AddAccountViewController , у меня есть запись в AddAccountViewController dealloc , которая освобождает его.
Однако, когда я иду удалить объект из ManagedObjectContext приложение вылетает со следующей (довольно непонятной) ошибкой:
Detected an attempt to call a symbol in system libraries that is not present on the iPhone:
_Unwind_Resume called from function _PFFaultHandlerLookupRow in image CoreData.
После долгой отладки и выдергивания волос я обнаружил, что если я не освобождаю учетную запись в AddAccountViewController dealloc приложение постоянно работает правильно и не дает утечек согласно Instruments.
Может ли кто-нибудь пролить свет на то, что происходит? Из документации по свойствам я понимаю, что оставшиеся необходимо освободить. Что я пропустил?
Обновите, чтобы ответить Кевину ' (Я работаю над большим веб-сайтом, который работает таким образом) Вариант 1: