Связывание владельцев файла и контроллера просмотра [iPhone SDK] - PullRequest
0 голосов
/ 09 октября 2008

Кажется, у меня проблема с iPhone SDK 2.1, поскольку возможность установить связь между ViewController и View окно. Что касается Touch Touch класса Какао, я пошел вперед и добавил UIViewController подкласс. Я убедился, что цель является частью существующий проект. Сразу после этого я добавил пользовательские интерфейсы -> вид XIB. В пределах UIViewController у меня есть некоторый прямой код, который я буквально скопировать / вставить из примера кода в другом месте:

EditViewController.h:

@interface EditorViewController : UIViewController <UITextFieldDelegate> {
    UITextField *field;
}

@property(nonatomic, retain) IBOutlet UITextField *field;
@end

EditViewController.m

#import "EditorViewController.h"

@implementation EditorViewController

- (BOOL)shouldAutorotateToInterfaceOrientation:
         (UIInterfaceOrientation)interfaceOrientation {
   // Return YES for supported orientations
  return (interfaceOrientation == UIInterfaceOrientationPortrait);
}


- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
}


- (void)dealloc {
   [super dealloc];
}


@end

Как вы можете сказать, это мало что дает. Теперь, когда я нажимаю мой новый XIB, и ссылаться на идентификатор класса с помощью EditorViewController, автозаполнение отсутствует случается, что для меня подразумевает, что у него нет такого осознания EditorViewClass. Когда я пытаюсь контролировать + нажмите от представления к Владельцы файла, я получаю нада.

Каковы некоторые из возможных особенностей в этом процессе, что я с пропуском, что не позволяет мне выводить мой взгляд на контроллер?

Как бы я также удостоверился, что мой интерфейс пользовательского интерфейса XIB View связан с проектом, кроме того, что имя проекта отмечено как Target?

Ответы [ 2 ]

2 голосов
/ 30 апреля 2009

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

2 голосов
/ 09 октября 2008

(Это не относится к iPhone - это общий класс проблем для любой платформы.)

С трудом понятно, что это значит: «Теперь, когда я щелкаю свой новый xib и ссылаюсь на идентификатор класса в EditorViewController, автоматическое завершение не происходит, что для меня означает, что он не знает о EditorViewClass».

Вы имеете в виду, что вы выбрали владельца файла и попытались установить его класс на EditorViewController, но Interface Builder не заполнил для вас имя класса автоматически?

Если это так, является ли файл XIB, связанный с проектом?

Другие пункты, которые не имеют прямого отношения:

В настоящее время рекомендуется использовать IBOutlet со свойством:

@interface EditorViewController : UIViewController
{
    UITextField *field;
}
@property(nonatomic, retain) IBOutlet UITextField *field;
@end

Вы также должны освободить текстовое поле в dealloc:

-(void)dealloc {
    [textField release];
    [super dealloc];
 }

Форматирование вашего вопроса затрудняет просмотр написанного вами кода. Терминология тоже «странная» - розетка не глагол:

"Каковы некоторые из возможных идиосинкразий в этом процессе, которые я упускаю из виду и которые не позволяют мне передать свое видение контроллеру?" ты имеешь ввиду: «Есть ли что-то, что я мог упустить из виду, что это означает, что я не могу подключить розетку моего контроллера к представлению в Интерфейсном Разработчике?»

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