繁体   English   中英

实施文件看不到协议委托

[英]Implementation file can't see protocol delegate

在头文件中声明了一个协议,但是实现文件说它看不到委托。 为什么?

Xcode编译器消息在实现文件中被注释掉。

提前致谢。

AddItemViewController.h

#import <UIKit/UIKit.h>

@class AddItemViewController;
@class ChecklistItem;

@protocol AddItemViewControllerDelegate <NSObject>

- (void)addItemViewControllerDidCancel:(AddItemViewController *)controller;
- (void)addItemViewController:(AddItemViewController *)controller didFinishAddingItem:(ChecklistItem *)item;

@property (nonatomic, weak) id <AddItemViewControllerDelegate> delegate;

@end

@interface AddItemViewController : UITableViewController <UITextFieldDelegate>

@property (weak, nonatomic) IBOutlet UITextField *textField;
@property (weak, nonatomic) IBOutlet UIBarButtonItem *doneBarButton;

- (IBAction)cancel;
- (IBAction)done;

@end

AddItemViewController.m

- (IBAction)cancel
{
    [self.delegate addItemViewControllerDidCancel:self]; /* Semantic issue: Property 'delegate' not found on object of  type     "AddItemViewController" */
}

- (IBAction)done
{
    ChecklistItem *item = [[ChecklistItem alloc] init];
    item.text = self.textField.text;
    item.checked = NO;

    [self.delegate AddItemViewController:self didFinishAddingItem:item]; /* Semantic issue: Property 'delegate' not found on object of  type     "AddItemViewController" */

}

啊..是错字吗? 委托属性是在委托协议上定义的。 当然,VC类看不到它;)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM