首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未调用委托方法: IOS 6

未调用委托方法: IOS 6
EN

Stack Overflow用户
提问于 2014-01-13 07:46:20
回答 1查看 74关注 0票数 0

我有一个ConfirmClaimViewcontroller.h,它将委托定义为:

代码语言:javascript
复制
@protocol ClaimConfirmedDelegate<NSObject>
@required
- (void) claimConfirmedDelegate : (NSInteger) tag;
@end

@interface ConfirmClaimControllerViewController : UIViewController{
    id <ClaimConfirmedDelegate> delegate;
}

-(id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil withTag:(NSInteger)tag;

@property(nonatomic,assign)id delegate;

@end

我在ClaimViewController.m中定义了委托:

代码语言:javascript
复制
- (void) claimConfirmedDelegate:(NSInteger)tag{
    NSLog(@"Delegate called");
}

我按以下方式调用ConfirmClaimViewController (它是一个弹出窗口):

代码语言:javascript
复制
   ConfirmClaimControllerViewController *confirmClaimController=[[ConfirmClaimControllerViewController alloc] initWithNibName:@"ConfirmClaim" bundle:nil withTag:sender.view.tag];
    confirmClaimController.delegate = self;
    [self.view addSubview:confirmClaimController.view];
    [confirmClaimController didMoveToParentViewController:self];
    [self addChildViewController:confirmClaimController];

弹出式窗口有两个按钮。其中一个按钮被单击,此代码称为:

代码语言:javascript
复制
if([self.delegate respondsToSelector:@selector(claimConfirmed:)])
{
    [self.delegate claimConfirmedDelegate:self.tagId];
}


[self.view removeFromSuperview];
[self removeFromParentViewController];

这应该是调用委托方法,然后将子对象从视图中删除。子对象被移除,但从来不调用委托。我是新手,任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-13 07:51:23

这一行:

代码语言:javascript
复制
if([self.delegate respondsToSelector:@selector(claimConfirmed:)])

应:

代码语言:javascript
复制
if([self.delegate respondsToSelector:@selector(claimConfirmedDelegate:)])
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21086187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档