Tworzenie programowo UISwitch

W pozornie nigdy niekończącym się wysiłku, aby dowiedzieć się więcej o rozwoju iPhone'a, bawiłem się niektórymi kodami źródłowymi dostępnymi na stronie internetowej dla twórców jabłek. Szczególnym przykładem, z którym pracuję, są Core Data Books, znalezionetutaj. DetailViewController i AddViewController są tworzone programowo, ponieważ nie ma dla nich żadnych plików xib. Moje pytanie dotyczy programowego dodawania rzeczy do widoku bez użycia IB. Chcę umieścić UISwitch pod UITableView, który ma szczegółowe informacje o określonej książce w DetailView. Jak mam to zrobic? Oto, co próbowałem dotychczas:

W AddViewController ustawiam UISwitch:

@interface AddViewController : DetailViewController {
id <AddViewControllerDelegate> delegate;
UISwitch *onoff;

 }

@property (nonatomic, assign) id <AddViewControllerDelegate> delegate;
@property (nonatomic, retain) IBOutlet UISwitch *onoff;

Ustawiam również IBAction:

- (IBAction)flip:(id)sender;

Następnie syntetyzuję go w pliku AddViewController.m, ale nic się nie dzieje. Po prostu muszę skonfigurować przełącznik i zrobić to, aby móc kontrolować to, co robi z mojej IBAction, którą ustawiam. Wiem, że to żenująco proste, ale nie mogę tego zrozumieć. Tak więc każda pomoc byłaby mile widziana! Dzięki

Edytuj 1

Zaimplementowałem więc kod tak, jak zostałem skierowany do viewDidLoad, tak jak poniżej:

   - (void)viewDidLoad {

[super viewDidLoad];    
  UISwitch *onoff = [[UISwitch alloc] initWithFrame: CGRectZero];
[onoff addTarget: self action: @selector(flip:) forControlEvents:UIControlEventValueChanged];
// Set the desired frame location of onoff here
[self.view addSubview: onoff];

Zgłasza dwa ostrzeżenia, że ​​lokalna deklaracja „onoff” ukrywa zmienną instancji. Ale nawet jeśli są takie zarobki, UISwitch pojawia się w porządku, ale kiedy go przenoszę lub używam, nie wygląda na to, żeby działał w pełni. Dla mojej akcji, która wygląda tak:

- (IBAction)flip:(id)sender {
if (onoff.on) NSLog(@"On");  
else  NSLog(@"Off");  
 }

Zawsze, gdy przełącznik jest włączony, konsola powinna czytać dalej, a gdy jest wyłączona, konsola powinna odczytać. Dobrze? Za każdym razem, gdy go przenoszę, po prostu powtarza się w konsoli, wyłączony. Jeśli jest włączony lub wyłączony, wyświetla się tylko. Co na świecie robię źle? Proszę pomóż! Dzięki

questionAnswers(2)

yourAnswerToTheQuestion