频道栏目
首页 > 资讯 > IOS > 正文

iOS 协议使用(二)

14-09-24        来源:[db:作者]  
收藏   我要投稿
ShowViewController在PopViewController拿值。注意设置代理(委托)?就像,我没有委拖你替我办事,你去银行,或者去政府替我办事,人家当然不会处理你

(1)PopViewController.h
#import

//定义协议
@protocol popNextDeleage

-(void)passPopReport:(NSString*)string;

@end


@interface PopViewController : UIViewController


@property(nonatomic,retain)NSObject *popDeleage;//声明一个代理


- (IBAction)reportAction:(UIButton *)sender;


@end


(2)PopViewController.m - (IBAction)reportAction:(UIButton *)sender {

[self.popDeleage passPopReport:@"举报"];//赋值

}

(3)ShowViewController.h遵守协议popNextDeleage
@interface ShowViewController : UIViewController{

UIView *moreView;


}

(4)ShowViewController.m //实现协议(拿到值)
-(void)passPopReport:(NSString *)string{

if ([string isEqualToString:@"举报"]) {
ReportViewController *report = [[ReportViewController alloc] init];
[self.navigationController pushViewController:report animated:YES];
}
}


(5)ShowViewController.m设置deleage

-(void)pop:(id)sender{

PopViewController *pop = [[PopViewController alloc] init];
pop.popDeleage = self;//设置deleage(谁实现了delegate方法就指定给谁)
FPPopoverController *basePop = [[FPPopoverController alloc] initWithViewController:pop];
basePop.tint = FPPopoverLightGrayTint;
basePop.arrowDirection = FPPopoverArrowDirectionAny;
[basePop presentPopoverFromView:sender];

}




相关TAG标签
上一篇:SGU 103. Traffic Lights 带限制最短路
下一篇:使用回调函数,简单模拟dbutils中Queryrunner的工作原理,并重写Queryrunner,使其使用起来更加简单方便
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站