iOS. Приемы программирования
Шрифт:
Параметр options метода JSONObjectWithData: options: error: принимает одно или несколько следующих значений:
• NSJSONReadingMutableContainers — словарь или массив, возвращенный методом JSONObjectWithData: options: error:, будет изменяемым. Иными словами, этот метод будет возвращать либо экземпляр NSMutableArray, либо экземпляр NSMutableDictionary в противоположность изменяемому массиву или словарю;
• NSJSONReadingMutableLeaves — листовые значения будут инкапсулированы в экземпляры NSMutableString;
• NSJSONReadingAllowFragments — обеспечивает десериализацию данных JSON, чей корневой объект верхнего уровня не является массивом или словарем.
См. также
Раздел 11.9.
11.11. Включение в приложения функций социального обмена контентом
Постановка задачи
Требуется предоставить в приложении функции социального обмена контентом. Например, у пользователя мобильного устройства должна быть возможность написать твит или обновить статус в Facebook.
Решение
Внедрите в ваше приложение фреймворк Social и воспользуйтесь классом SLComposeViewController для обеспечения социального обмена сообщениями, например твитами.
Обсуждение
Класс SLComposeViewController входит в состав фреймворка Social. Он приспособлен к работе с модулями компилятора LLVM. Чтобы приступить к использованию этого фреймворка, вам всего лишь потребуется импортировать в проект обобщающий заголовок, вот так:
Поскольку Apple обогащает свой SDK новыми возможностями социального обмена контентом, вы можете запрашивать фреймворк Social и прямо во время выполнения узнавать, какой из сервисов доступен на устройстве, на котором работает ваше приложение. Поскольку набор таких сервисов может варьироваться от устройства к устройству, перед попыткой использовать тот или иной сервис обязательно следует убедиться, что нужный сервис работает. Чтобы запросить у iOS такую информацию, воспользуйтесь методом класса isAvailableForServiceType:, относящимся к классу SLComposeViewController. Параметр, передаваемый этому методу, относится к типу NSString, а вот список некоторых валидных параметров, которые можно передать этому методу:
• SOCIAL_EXTERN NSString *const SLServiceTypeTwitter;
• SOCIAL_EXTERN NSString *const SLServiceTypeFacebook;
• SOCIAL_EXTERN NSString *const SLServiceTypeSinaWeibo;
• SOCIAL_EXTERN NSString *const SLServiceTypeTencentWeibo;
• SOCIAL_EXTERN NSString *const SLServiceTypeLinkedIn.
Убедившись, что нужный сервис доступен, вы можете воспользоваться методом класса composeViewControllerForServiceType:, относящимся к классу SLComposeViewController. Так вы получаете новый экземпляр контроллера вида для социального обмена. Далее все совсем просто. Вам потребуется всего лишь использовать в контроллере для социального обмена один или несколько следующих методов: