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

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

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

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

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

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

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

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

Интервал:

Закладка:

Сделать

— (UIImage *) activityImage{

return [UIImage imageNamed:@"Reverse"];

}

Рис 129В категории Ресурсы содержатся изображения для создаваемой - фото 29

Рис. 1.29.В категории Ресурсы содержатся изображения для создаваемой специальной функции

6. Реализуем метод canPerformWithActivityItems: нашей функции. Параметр этого метода содержит массив, который будет задан, когда метод-инициализатор контроллера вида с функцией получит массив компонентов функции. Не забывайте, что тип каждого из объектов данного массива является произвольным. Возвращаемое значение данного метода является логическим и указывает, можем ли мы произвести такую функцию над каждым конкретным элементом массива. Например, наша функция может обратить любое количество данных ей строк. То есть если мы найдем в массиве одну строку, это будет нам на руку, поскольку мы будем точно знать, что впоследствии сможем обратить эту строку. Но если мы получим массив из 1000 объектов, ни один из которых не будет относиться к приемлемому для нас типу, мы отклоним такой запрос, вернув NO от данного метода:

— (BOOL) canPerformWithActivityItems:(NSArray *)activityItems{

for (id object in activityItems){

if ([object isKindOfClass: [NSString class]]){

return YES;

}

}

return NO;

}

7. Теперь реализуем метод prepareWithActivityItems: нашей функции, чей параметр относится к типу NSArray. Этот метод вызывается, если вы возвращаете YES от метода canPerformWithActivityItems:. Придется сохранить данный массив для последующего использования. Но на самом деле можно сохранять не весь массив, а только часть его объектов — те, что относятся к интересующему вас типу. Например, строки:

— (void) prepareWithActivityItems:(NSArray *)activityItems{

NSMutableArray *stringObjects = [[NSMutableArray alloc] init];

for (id object in activityItems){

if ([object isKindOfClass: [NSString class]]){

[stringObjects addObject: object];

}

}

self.activityItems = [stringObjects copy];

}

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

— (NSString *) reverseOfString:(NSString *)paramString{

NSMutableString *reversed = [[NSMutableString alloc]

initWithCapacity: paramString.length];

for (NSInteger counter = paramString.length — 1;

counter >= 0;

counter—){

[reversed appendFormat:@"%c", [paramString characterAtIndex: counter]];

}

return [reversed copy];

}

— (void) performActivity{

NSMutableString *reversedStrings = [[NSMutableString alloc] init];

for (NSString *string in self.activityItems){

[reversedStrings appendString: [self reverseOfString: string]];

[reversedStrings appendString:@"\n"];

}

UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Reversed"

message: reversedStrings

delegate: self

cancelButtonTitle:@"OK"

otherButtonTitles: nil];

[alertView show];

}

Итак, реализация класса нашей функции завершена. Перейдем к файлу реализации контроллера вида и отобразим контроллер вида функции в списке с нашей специальной функцией:

#import «ViewController.h»

#import «StringReverserActivity.h»

@implementation ViewController

— (void) viewDidAppear:(BOOL)animated{

[super viewDidAppear: animated];

NSArray *itemsToShare = @[

@"Item 1",

@"Item 2",

@"Item 3",

];

UIActivityViewController *activity =

[[UIActivityViewController alloc]

initWithActivityItems: itemsToShare

applicationActivities:@[[StringReverserActivity new]]];

[self presentViewController: activity animated: YES completion: nil];

}

@end

При первом запуске приложения на экране появится картинка, примерно такая, как на рис. 1.30.

Рис 130Специальная функция для обращения строк теперь находится в списке - фото 30

Рис. 1.30.Специальная функция для обращения строк теперь находится в списке доступных функций

Если теперь вы нажмете в этом списке элемент Reverse String (Обращенная строка), то увидите нечто похожее на рис. 1.31.

Рис 131Наша функция для обращения строк в действии См также Раздел 110 - фото 31

Рис. 1.31.Наша функция для обращения строк в действии

См. также

Раздел 1.10.

1.12. Внедрение навигации с помощью UINavigationController

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

Необходимо дать пользователю возможность переходить от одного контроллера вида к другому, сопровождая этот процесс плавной анимацией, интегрированной в программу.

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

Интервал:

Закладка:

Сделать

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

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


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

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