2014-01-13 24 views
7

我的视图控制器符合UITextFieldDelegate,但是当我尝试将我的文本字段的.delegate字段设置为self时,我收到警告:当我遵守协议时,分配给id <UITextFieldDelegate>的警告

“分配给来自不兼容的类型 'ID' 'AddReviewViewController * const的__strong'”

我的头文件是这样的:

#import <UIKit/UIKit.h> 

@interface AddReviewViewController : UIViewController <UITextFieldDelegate> 
@property (nonatomic) int storeID; 

@end 

正如你所看到的,我宣布它符合协议。在.m文件,我有这样的:

@property (strong, nonatomic) IBOutlet UITextView *reviewTextView; 
在部分

“@interface AddReviewViewController()”

然后,在viewDidLoad中我做的:

_reviewTextView.delegate = self; 

这就是我得到的警告。我试过清理和重建,然后重新启动XCode。我在这里错过了很明显的东西吗我符合协议....

编辑:感谢您的快速帮助。在我睡眠不足的状态中,我不断重读和发誓,这就是我正在做的,但是,错字,错字。我几分钟不能标记答案,但问题解决了,谢谢!

回答

24

在你的头,你有UITextFieldDelegate 然后你声明UITextView。这两者之间有很大的区别。

编辑

@interface AddReviewViewController : UIViewController <UITextFieldDelegate> 

@interface AddReviewViewController : UIViewController <UITextViewDelegate> 
3

也许应该在UITextViewDelegate

@interface AddReviewViewController : UIViewController <UITextFieldDelegate> 
@property (nonatomic) int storeID; 
@end 
0

我得到的,因为这个代码,错误:

@interface PlaceOrderController : UIViewController <  UINavigationControllerDelegate, UITextViewDelegate > 

@property (weak, nonatomic) IBOutlet UITextField *dateForUserDOB; 

为了解决这个问题我已经使用下列内容:

@interface PlaceOrderController : UIViewController < UINavigationControllerDelegate, UITextFieldDelegate > 

@property (weak, nonatomic) IBOutlet UITextField *dateForUserDOB; 

摘要:使用TextField而不是TextView

相关问题