Как я могу получить доступ к методу из другого класса? - PullRequest
0 голосов
/ 12 ноября 2009

Я знаю, что этот вопрос уже задавался несколько раз, но я не понимаю.

У меня есть 2 класса classA.h & .m и classB.h и .m.

В классе A.h у меня есть UITextField *myTextfield. В classB я импортирую заголовок classA и определяю класс с @class classA. Я также установил classA *classa.

если я попытаюсь получить значение myTextfield, например, myString = classA.myTextfield.text; ничего не происходит

какие-либо предложения, что я делаю здесь не так?

Я был бы очень благодарен за ответ, потому что без этого я не могу продолжать кодировать:)

спасибо!

1 Ответ

1 голос
/ 12 ноября 2009

члены классов Objective-C всегда закрыты.

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

Модифицируйте свой classA.h так, чтобы он выглядел

@interface classA : UITableViewController
{
  IBOutlet UITextField *myTextfield;
  ...
}
@property(retain, readonly) UITextField * myTextfield;
...
@end

Затем измените classA.m, чтобы иметь

@implementation classA
@synthesize myTextfield;

Тогда, когда вам нужно использовать его в другом классе, используйте либо

classa.myTextfield.text

или предпочтительно

[[classa myTextfield] text]

Edit:

Также убедитесь, что для myTextField задано какое-то значение, подключив его к некоторому текстовому полю в Интерфейсном Разработчике. См. Пример учебника Interface Builder, если это является проблемой.

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