У меня Xcode 4, и я создал приложение, используя шаблон панели вкладок (а не приложение, основанное на просмотре).На каждой из этих вкладок есть UISwitch , и когда я меняю его, UILabel переключается между ON и OFF .Очень простое приложение и нет путаницы.Xcode 4 создает две вкладки для меня по умолчанию.Мне также нужна третья вкладка, поэтому я перетаскиваю TabBarItem из библиотеки объектов и помещаю ее в существующий TabBarController. Я создаю новый файл, подкласс UIViewController и следующий код переходит в три вкладки.
Ниже приведен интерфейс
#import <UIKit/UIKit.h>
@interface FirstViewController : UIViewController {
UISwitch *switch1;
UILabel *status1;
}
@property (nonatomic,retain) IBOutlet UISwitch *switch1;
@property (nonatomic,retain) IBOutlet UILabel *status1;
- (IBAction) switch1Change;
@end
Ниже приведена реализация
#import "FirstViewController.h"
@implementation FirstViewController
@synthesize switch1;
@synthesize status1;
- (IBAction) switch1Change
{
if (switch1.on)
status1.text = @"ON";
else
status1.text = @"OFF";
}
Тот же код повторяется для SecondViewControllerи ThirdViewController с ivars, изменяющимся на switch2, status2 и switch3, status3.Ссылка на проект: здесь
Когда я запускаю его на симуляторе, все отлично работает для первой и второй вкладок.Когда я открываю третью вкладку, я получаю следующую ошибку «Завершение приложения из-за необработанного исключения« NSUnknownKeyException », причина: [setValue: forUndefinedKey:]: этот класс не является ключом значения coding-complaint для ключа switch3».
Когда я удаляю переключатель UIS из ThirdView.xib , я не получаю эту ошибку.Только когда я добавляю управление переключателем, я получаю эту ошибку.Может кто-нибудь объяснить, что происходит?