>case 0:{

>self.firstName = paramObject;

>break;

>}

>case 1:{

>self.lastName = paramObject;

>break;

>}

>default:{

>[NSException raise:@"Invalid index" format: nil];

>}

>}

>}

>Теперь можно протестировать весь написанный ранее код вот так:

>Person *person = [Person new];

>person[kFirstNameKey] = @"Tim";

>person[kLastNameKey] = @"Cook";

>NSString *firstNameByKey = person[kFirstNameKey];

>NSString *lastNameByKey = person[kLastNameKey];


>NSString *firstNameByIndex = person[0];

>NSString *lastNameByIndex = person[1];


>if ([firstNameByKey isEqualToString: firstNameByIndex] &&

>[lastNameByKey isEqualToString: lastNameByIndex]){

>NSLog(@"Success");

>} else {

>NSLog(@"Something is not right");

>}


Если вы правильно выполнили все шаги, описанные в этом разделе, то на консоли должно появиться значение Success.

1.1. Отображение предупреждений с помощью UIAlertView

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

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

Решение

Воспользуйтесь UIAlertView.

Обсуждение

Если вы сами пользуетесь iOS, то вам определенно попадались виды-предупреждения. Пример такого вида показан на рис. 1.1.


Рис. 1.1. Вид-предупреждение, сообщающий пользователю, что для работы требуется активное соединение с Интернетом


Наилучший способ инициализации вида-предупреждения заключается, разумеется, в использовании его базового конструктора-инициализатора:


>– (void) viewDidAppear:(BOOL)paramAnimated{


>[super viewDidAppear: paramAnimated];


>UIAlertView *alertView = [[UIAlertView alloc]

>initWithTitle:@"Alert"

>message:@"You've been delivered an alert"

>delegate: nil

>cancelButtonTitle:@"Cancel"

>otherButtonTitles:@"OK", nil];

>[alertView show];

>}


Когда этот вид-предупреждение отобразится у пользователя, он увидит экран, подобный показанному на рис. 1.2.


Рис. 1.2. Простой вид-предупреждение, отображаемый у пользователя


Чтобы показать пользователю вид-предупреждение, мы используем метод предупреждения show. Рассмотрим описания всех параметров, которые могут быть переданы базовому конструктору-инициализатору вида-предупреждения:

• title – строка, которую пользователь увидит в верхней части вида-предупрежения. На рис. 1.2 эта строка – Title;

• message – сообщение, которое отображается у пользователя. На рис. 1.2 для этого сообщения задано значение Message;

• delegate – опциональный объект-делегат, который мы передаем виду-предупреждению. Затем этот объект будет получать уведомление при каждом изменении состояния предупреждения, например, когда пользователь нажмет на экранную кнопку, изображенную в этом виде. Объект, передаваемый данному параметру, должен соответствовать протоколу UIAlertViewDelegate;

• cancelButtonTitle – строка, которая будет присваиваться кнопке отмены (Cancel Button) в виде-предупреждении. Если в виде-предупреждении есть кнопка отмены, то такой вид обычно побуждает пользователя к действию. Если пользователь не хочет совершать предложенное действие, то он нажимает кнопку отмены. Причем на этой кнопке не обязательно должна быть строка-надпись Cancel (Отменить). Надпись для этой кнопки определяете вы сами, и этот параметр опциональный – можно сделать диалоговое окно и без кнопки Отмена;

• otherButtonTitles – надписи на других кнопках, тех, которые вы хотите отобразить в виде-предупреждении. Разделяйте такие надписи запятыми. Нужно убедиться, что в конце списка названий стоит значение nil, называемое