Вандад Нахавандипур - iOS. Приемы программирования

Здесь есть возможность читать онлайн «Вандад Нахавандипур - iOS. Приемы программирования» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Санкт-Петербург, Год выпуска: 2014, ISBN: 2014, Издательство: Питер, Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

iOS. Приемы программирования: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «iOS. Приемы программирования»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Книга, которую вы держите в руках, представляет собой новый, полностью переписанный сборник приемов программирования по работе с iOS. Он поможет вам справиться с наболевшими проблемами, с которыми приходится сталкиваться при разработке приложений для iPhone, iPad и iPod Touch. Вы быстро освоите всю информацию, необходимую для начала работы с iOS 7 SDK, в частности познакомитесь с решениями для добавления в ваши приложения реалистичной физики или движений — в этом вам помогут API UIKit Dynamics.
Вы изучите новые многочисленные способы хранения и защиты данных, отправки и получения уведомлений, улучшения и анимации графики, управления файлами и каталогами, а также рассмотрите многие другие темы. При описании каждого приема программирования приводятся образцы кода, которые вы можете смело использовать.

iOS. Приемы программирования — читать онлайн ознакомительный отрывок

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «iOS. Приемы программирования», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

}

if (paramSender.scale!= NAN &&

paramSender.scale!= 0.0){

paramSender.view.transform =

CGAffineTransformMakeScale(paramSender.scale,

paramSender.scale);

}

}

Поскольку свойство scale распознавателя жестов сбрасывается всякий раз, когда регистрируется новый щипок, мы сохраняем последнее значение этого свойства в общем свойстве экземпляра (Instance Property) контроллера вида, называемом currentScale. В следующий раз, когда будет распознан новый жест, мы отсчитываем коэффициент масштабирования от последнего зафиксированного значения, что и продемонстрировано в коде.

Глава 11. Сетевые функции, JSON, XML и Twitter

11.0. Введение

Стоит подключить приложение iOS к Интернету — и оно становится гораздо интереснее. Например, представьте себе приложение, которое предлагает пользователям великолепные фоновые картинки для Рабочего стола. Пользователь может выбрать вариант из большого списка изображений и присвоить любой из этих рисунков в качестве фонового операционной системе iOS. А теперь вообразим себе приложение, которое делает то же самое, но обновляет ассортимент имеющихся изображений каждый день, неделю или месяц. Пользователь после какого-то перерыва возвращается к работе с программой и — опа! Масса новых фоновых изображений динамически загружается в приложение. В этом и есть изюминка работы с веб-службами и Интернетом. Реализовать такие функции не составляет труда, если обладать базовыми знаниями о работе в Сети, применении JSON, XML и Twitter. Ну, еще от разработчика приложения требуется известная креативность.

iOS SDK позволяет подключаться к Интернету, получать и отсылать данные. Это делается с помощью класса NSURLConnection. Сериализация и десериализация JSON выполняется в классе NSJSONSerialization. Синтаксический разбор XML производится с помощью NSXMLParser, а соединение с Twitter обеспечивается во фреймворке Twitter.

В SDK iOS 7 появились новые классы, работать с которыми мы научимся в этой главе. В частности, поговорим о классе NSURLSession, который управляет соединяемостью веб-сервисов и решает эту задачу более основательно, чем класс NSURLConnection. О соединяемости мы также поговорим далее в этой главе.

11.1. Асинхронная загрузка с применением NSURLConnection

Постановка задачи

Необходимо асинхронно загрузить файл с имеющегося URL.

Решение

Используйте класс NSURLConnection с асинхронным запросом.

Обсуждение

Класс NSURLConnection можно использовать двумя способами — асинхронным и синхронным. При асинхронном соединении создается новый поток, и процесс загрузки выполняется в этом новом потоке. Синхронное соединение блокирует вызывающий поток , а содержимое загружается прямо в ходе обмена данными.

Многие разработчики полагают, что при синхронном соединении блокируется главный поток , но это неверно. Синхронное соединение всегда блокирует тот поток, в котором оно было инициировано. Если вы запускаете синхронное соединение из главного потока — да, главный поток будет заблокирован. Но синхронное соединение, запущенное из другого потока, будет напоминать асинхронное именно в том отношении, что оно никак не повлияет на главный поток. На самом деле единственное различие между синхронным и асинхронным соединениями заключается в том, что для асинхронного соединения среда времени исполнения создает отдельный поток, а для синхронного — нет.

Чтобы создать асинхронное соединение, необходимо следующее.

1. Иметь URL или экземпляр NSString.

2. Преобразовать строку в экземпляр NSURL.

3. Поместить URL в URL-запросе типа NSURLRequest, а если мы имеем дело с изменяемыми URL — в экземпляр NSMutableURLRequest.

4. Создать экземпляр NSURLConnection и передать ему URL-запрос.

Можно создать асинхронное соединение по URL с помощью метода класса sendAsynchronousRequest: queue: completionHandler:, относящегося к классу NSURLConnection. Этот метод имеет следующие параметры:

• sendAsynchronousRequest — запрос типа NSURLRequest, рассмотренный ранее;

• queue — операционная очередь. При желании можно просто выделить и инициализировать новую операционную очередь и передать ее этому методу;

• completionHandler — блоковый объект, выполняемый, когда асинхронное соединение завершает работу, успешно или неуспешно. Этот блоковый объект должен принимать три параметра:

• объект типа NSURLResponse, в котором заключается ответ, полученный нами от сервера, — при наличии такого ответа;

• данные типа NSData при их наличии. Это будут данные, собранные в ходе соединения по указанному URL;

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «iOS. Приемы программирования»

Представляем Вашему вниманию похожие книги на «iOS. Приемы программирования» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «iOS. Приемы программирования»

Обсуждение, отзывы о книге «iOS. Приемы программирования» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x