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

Тут можно читать онлайн Вандад Нахавандипур - iOS. Приемы программирования - бесплатно ознакомительный отрывок. Жанр: comp-programming, издательство Питер, год 2014. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    iOS. Приемы программирования
  • Автор:
  • Жанр:
  • Издательство:
    Питер
  • Год:
    2014
  • Город:
    Санкт-Петербург
  • ISBN:
    978-5-496-01016-0
  • Рейтинг:
    3.9/5. Голосов: 101
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

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

iOS. Приемы программирования - описание и краткое содержание, автор Вандад Нахавандипур, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

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

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

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

iOS. Приемы программирования - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Вандад Нахавандипур
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

NSString *urlAsString = ;

urlAsString = [urlAsString stringByAppendingString:@"?param1=First"];

urlAsString = [urlAsString stringByAppendingString:@"&param2=Second"];

NSURL *url = [NSURL URLWithString: urlAsString];

NSMutableURLRequest *urlRequest = [NSMutableURLRequest

requestWithURL: url];

[urlRequest setTimeoutInterval:30.0f];

[urlRequest setHTTPMethod:@"GET"];

NSOperationQueue *queue = [[NSOperationQueue alloc] init];

[NSURLConnection

sendAsynchronousRequest: urlRequest

queue: queue

completionHandler: ^(NSURLResponse *response,

NSData *data,

NSError *error) {

if ([data length] >0 &&

error == nil){

NSString *html = [[NSString alloc] initWithData: data

encoding: NSUTF8StringEncoding];

NSLog(@"HTML = %@", html);

}

else if ([data length] == 0 &&

error == nil){

NSLog(@"Nothing was downloaded.");

}

else if (error!= nil){

NSLog(@"Error happened = %@", error);

}

}];

self.window = [[UIWindow alloc] initWithFrame:

[[UIScreen mainScreen] bounds]];

self.window.backgroundColor = [UIColor whiteColor];

[self.window makeKeyAndVisible];

return YES;

}

Переменная urlAsString в данном коде представляет собой сущность Xcode, которая называется «шаблон переменной». Если скопировать этот код и вставить его в ваш проект Xcode, переменная будет отображена так, как показано на рис. 11.1. Перед запуском этого примера кода убедитесь, что присвоили вышеупомянутой переменной валидный URL.

Рис 111Заменяемая переменная в Xcode Единственный момент который необходимо - фото 164

Рис. 11.1.Заменяемая переменная в Xcode

Единственный момент, который необходимо учитывать, заключается в том, что перед первым параметром ставится вопросительный знак, а перед всеми последующими — амперсанд (&). Вот и все! Теперь вы можете пользоваться методом HTTP GET и отправлять параметры в строке запроса.

11.6. Отправка запросов HTTP POST с применением NSURLConnection

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

Необходимо вызвать метод HTTP POST веб-сервера и, возможно, передать параметры (в теле HTTP или в строке запроса) определенной веб-службе.

Решение

Как и в случае с методом GET, можно использовать метод POST с применением NSURLConnection. Следует явно задать метод нашего URL как POST.

Обсуждение

Напишем простое приложение, которое может создать асинхронное соединение и отослать ряд параметров в виде строки запроса и нескольких параметров в теле HTTP-запроса по URL:

— (BOOL) application:(UIApplication *)application

didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{

NSString *urlAsString = ;

urlAsString = [urlAsString stringByAppendingString:@"?param1=First"];

urlAsString = [urlAsString stringByAppendingString:@"&param2=Second"];

NSURL *url = [NSURL URLWithString: urlAsString];

NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL: url];

[urlRequest setTimeoutInterval:30.0f];

[urlRequest setHTTPMethod:@"POST"];

NSString *body = @"bodyParam1=BodyValue1&bodyParam2=BodyValue2";

[urlRequest setHTTPBody: [body dataUsingEncoding: NSUTF8StringEncoding]];

NSOperationQueue *queue = [[NSOperationQueue alloc] init];

[NSURLConnection

sendAsynchronousRequest: urlRequest

queue: queue

completionHandler: ^(NSURLResponse *response,

NSData *data,

NSError *error) {

if ([data length] >0 &&

error == nil){

NSString *html = [[NSString alloc] initWithData: data

encoding: NSUTF8StringEncoding];

NSLog(@"HTML = %@", html);

}

else if ([data length] == 0 &&

error == nil){

NSLog(@"Nothing was downloaded.");

}

else if (error!= nil){

NSLog(@"Error happened = %@", error);

}

}];

self.window = [[UIWindow alloc] initWithFrame:

[[UIScreen mainScreen] bounds]];

self.window.backgroundColor = [UIColor whiteColor];

[self.window makeKeyAndVisible];

return YES;

}

Первый параметр, пересылаемый в теле HTTP, не обязательно предварять вопросительным знаком, а пересылаемый в строке запроса — обязательно.

11.7. Отправка запросов HTTP DELETE с применением NSURLConnection

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

Требуется вызвать веб-службу методом HTTP DELETE, чтобы удалить ресурс, расположенный по ссылке URL, и, возможно, передать веб-службе определенные параметры, которые будут находиться в теле HTTP или в строке запроса.

Решение

Как и методы GET и POST, метод DELETE можно использовать с помощью NSURLConnection. Необходимо явно задать метод вашего URL как DELETE.

Обсуждение

Напишем простое приложение, которое будет создавать асинхронное соединение и отправлять несколько параметров в строке запроса, а несколько — в теле HTTP. Отправка будет происходить по указанному URL с помощью метода DELETE HTTP:

— (BOOL) application:(UIApplication *)application

didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{

NSString *urlAsString = ;

urlAsString = [urlAsString stringByAppendingString:@"?param1=First"];

urlAsString = [urlAsString stringByAppendingString:@"&param2=Second"];

NSURL *url = [NSURL URLWithString: urlAsString];

NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL: url];

[urlRequest setTimeoutInterval:30.0f];

[urlRequest setHTTPMethod:@"DELETE"];

NSString *body = @"bodyParam1=BodyValue1&bodyParam2=BodyValue2";

[urlRequest setHTTPBody: [body dataUsingEncoding: NSUTF8StringEncoding]];

NSOperationQueue *queue = [[NSOperationQueue alloc] init];

[NSURLConnection

sendAsynchronousRequest: urlRequest

queue: queue

completionHandler: ^(NSURLResponse *response,

NSData *data,

NSError *error) {

if ([data length] >0 &&

error == nil){

NSString *html = [[NSString alloc] initWithData: data

encoding: NSUTF8StringEncoding];

NSLog(@"HTML = %@", html);

}

else if ([data length] == 0 &&

error == nil){

NSLog(@"Nothing was downloaded.");

}

else if (error!= nil){

NSLog(@"Error happened = %@", error);

}

}];

self.window = [[UIWindow alloc] initWithFrame:

[[UIScreen mainScreen] bounds]];

self.window.backgroundColor = [UIColor whiteColor];

[self.window makeKeyAndVisible];

return YES;

}

Этот пример очень напоминает код, рассмотренный в разделах 11.5 и 11.6. Разница заключается в том, что здесь мы использовали HTTP-метод DELETE. Прочая информация практически идентична той, что была изложена в упомянутых разделах.

11.8. Отправка запросов HTTP PUT с применением NSURLConnection

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

Требуется вызывать веб-службу методом HTTP PUT, чтобы размещать ресурс на веб-сервере и, возможно, передать веб-службе определенные параметры, которые будут находиться в теле HTTP или в строке запроса.

Решение

Как и методы GET, POST и DELETE, метод PUT можно использовать с помощью NSURLConnection. Необходимо явно задать метод вашего URL как PUT.

Обсуждение

Напишем простое приложение, которое будет создавать асинхронное соединение и отправлять несколько параметров в строке запроса, а несколько — в теле HTTP. Отправка будет происходить по указанному URL с помощью метода PUT:

— (BOOL) application:(UIApplication *)application

didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{

NSString *urlAsString = ;

urlAsString = [urlAsString stringByAppendingString:@"?param1=First"];

urlAsString = [urlAsString stringByAppendingString:@"&param2=Second"];

NSURL *url = [NSURL URLWithString: urlAsString];

NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL: url];

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

Интервал:

Закладка:

Сделать


Вандад Нахавандипур читать все книги автора по порядку

Вандад Нахавандипур - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




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


Отзывы читателей о книге iOS. Приемы программирования, автор: Вандад Нахавандипур. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x