我想在按下某个按钮时将一些数据添加到2个不同的实体中,我正在使用委托,但我不知道该怎么做。
@protocol AddContentViewControllerDelegate <NSObject>
- (void)AddContentViewControllerDidCancel:(AddContentViewController *)controller;
- (void)AddContentViewController:(AddContentViewController *)controller didAddPlayer:(FailedBankInfo *)info;
- (void)AddContentViewController:(AddContentViewController *)controller didAddPlayer:(FailedBankDetails *)details;
@end
答案 0 :(得分:3)
每当您声明协议时,您还必须为相同的
创建委托id <AddContentViewControllerDelegate > delegateAddContent
并在.m文件中创建其属性ans synthesize
@property (nonatomic) id delegateAddContent
in .m
@synthesize delegateAddContent
现在你必须通过你已经通过.m文件方法定义的协议方法发送数据。
[self delegateAddContent]AddContentViewControllerDidCancel:(AddContentViewController *)controller];
可能有一些类要发送数据。该类必须符合您的协议 e.g - &GT;
@interface ClassName : SuperClass<AddContentViewControllerDelegate >
然后你将不得不实现协议的方法./ 例如 - &gt; -
(void)AddContentViewControllerDidCancel:(AddContentViewController *)controller
{
//the data will be received in the parameters of the method of the protocol implemented.here in controller
}
符合协议的类也必须采用协议所有权
yourclassconformingprotocol.delegateController =自我。
您还可以通过@required定义协议中所需的方法,并通过@optional
选择答案 1 :(得分:2)
只能通过参数类型选择两个不同的方法名称。就编译器而言,协议中第二和第三种方法的名称都是AddContentViewController:didAddPlayer:
。