#iphone #objective-c #ios #xcode
#iPhone #objective-c #iOS #xcode
Вопрос:
Я новичок в программировании на iOS, недавно я наткнулся на учебник, в котором автор назначил ViewController делегату текстового поля. Хорошо ли это делать? Поскольку Xcode выдает мне предупреждение.
discussIDTextField.delegate = self;
self
является ли DiscussViewController и приведенный выше код внутри DiscussViewController.m
Код работает нормально, но мне не нравятся желтые пузырьки, появляющиеся на моем экране при написании кодов. Если я хочу избавиться от этого предупреждения, что мне делать?
Предупреждение: присвоение идентификатора из несовместимого типа ‘DiscussViewController’.
Ответ №1:
Контроллер представления (self) должен реализовать UITextFieldDelegate
протокол. Итак, ваше @interface
определение должно выглядеть примерно так:
@interface DiscussViewController : UIViewController <UITextViewDelegate>
И затем, конечно, в реализации реализуются некоторые методы делегированного протокола.
Ответ №2:
В вашем файле .h добавьте UITextFieldDelegate между < >, чтобы ваш контроллер представления стал делегатом текстового поля, а затем в файле .m реализуйте методы делегирования, которые вам нужны.
@interface DiscussViewController : UIViewController <UITextFieldDelegate>