Представление модального представления от делегата в iOS 5 - PullRequest
1 голос
/ 04 ноября 2011

Я не могу найти это где-нибудь в Интернете. У меня есть кнопка добавления в одном из моих представлений, и я подключил ее к IBAction методу add. В моей раскадровке я создал представление, на котором настроена вся форма. Я также назначил класс для этого представления в раскадровке. Этот класс называется AddItemViewController.

Я пытаюсь представить это представление модально, а затем установить делегат для представления, которое вызвало AddItemViewController. Тем не менее, все, что я получаю, это пустой UITableViewController, который обнаруживается. Вот мой код, который я пытаюсь использовать:

- (IBAction)add {
    AddItemViewController *addItem = [[AddItemViewController alloc] init];
    addItem.delegate = self;
    [self presentModalViewController:addItem animated:YES];
}

Есть что-то, что я пропускаю? Почему он просто показывает пустую таблицу, а не контроллер представления, который я установил в раскадровке?

Вот код из AddItemViewController:

@interface AddItemViewController : UITableViewController <UITextFieldDelegate> {
}

@property (strong, nonatomic) IBOutlet UITextField *note;

- (void)save:(id)sender;
- (void)cancel:(id)sender;
@end


@implementation AddItemViewController
    - (void)viewDidLoad {

    }

    - (IBAction)cancel:(id)sender {
        [self dismissViewControllerAnimated:YES completion:nil];
    }

    - (IBAction)save:(id)sender {
        DbHandler *db = [[DbHandler alloc] init];
        [db executeUpdate:self.note];

        [self dismissViewControllerAnimated:YES completion:nil];
    }
@end

1 Ответ

1 голос
/ 04 ноября 2011

Ну, AddItemViewController наследуется от UITableViewController, а не UIViewController, поэтому имеет смысл, что UITableViewController обнаруживается.

Вы должны инициировать AddItemViewController следующим образом:

AddItemViewController *addItem = [[AddItemViewController alloc] initWithNibName:@"AddItemViewController"];

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...