ios-在两个viewcontroller之间的delegation有问题

问题描述

在两个viewcontroller之间的delegation有问题
第一个viewcontroller是排行榜菜单,里面有一个按钮指示到第二个viewcontroller中第二个是小游戏,如果玩家输了,最高分变动,就更新排行榜。在玩家完成游戏时建了带两个按钮的UIAlertView,一个是主菜单,另一个是重新开始,我的代码如下:我想通过delegation更新排行榜

  @protocol highScoreProtocol <NSObject>        -(void)updateHighScore:(int) score;        @end        @interface ViewController : UIViewController <UIAlertViewDelegate>         @property (nonatomic) int score;        @property (nonatomic weak) id <highScoreProtocol> delegateHighScore;        @implementation ViewController        @synthesize score=_score;        @synthesize delegateHighScore=_delegateHighScore;            -(void)lostGame{            [self.delegateHighScore updateHighScore:self.score];         UIAlertView *losingScreen=[[UIAlertView alloc]initWithTitle:@""Game Over"" message:[NSString stringWithFormat:@""Your Score Is %d"" self.score] delegate:self cancelButtonTitle:@""Main Menu"" otherButtonTitles:@""Restart"" nil];             }        -(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{              if (buttonIndex==0) {            } else if (buttonIndex==1){            }        }    @end            @interface MenuVC : UIViewController <highScoreProtocol>            @property (weak nonatomic) IBOutlet UILabel *labelHighScore;    @end@implementation MenuVC- (void)viewDidLoad{    [super viewDidLoad];    ViewController *vc=[[ViewController alloc]init];    vc.delegateHighScore=self;}-(void)updateHighScore:(int)score{    if (score>[self.labelHighScore.text integerValue]) {         self.labelHighScore.text=[NSString stringWithFormat:@""%d"" score];    }    NSLog(@""does this method even run"");}

不知道哪出错了,希望大家帮忙。

解决方案

这行代码不对

ViewController *vc=[[ViewController alloc]init];vc.delegateHighScore=self;

定义了一个新的不相干的viewcontroller。

如果你的情况是这样:定义一个viewcontroller的identifier,选择viewcontroller,……

然后用这行代码:

ViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@""yourIdentifier""];vc.delegateHighScore = self;
时间: 2024-12-21 21:00:00

ios-在两个viewcontroller之间的delegation有问题的相关文章

objective c-利用临时变量在两个ViewController之间传值

问题描述 利用临时变量在两个ViewController之间传值 临时变量eneity,如有两个ViewController,OneViewController,SecondViewController两个ViewController,跳转正常,从OneViewController利用临时变量eneity发送值到SecondViewController,但是SecondViewController和回传值,利用eneity,OneViewController却得不到,在不用代理的情况下,是否可以

iOS实现两个控制器之间数据的双向传递_IOS

本文为大家分享了iOS控制器之间数据的双向传递,供大家参考,具体内容如下 首先,有两个控制器,分别为控制器A.控制器B. A->B:数据由控制器A传向控制器B,这叫做数据的顺传:数据由控制器B传向控制器A,这叫做逆传. 顺传:一般通过创建目标控制器对象,将数据赋值给对象的成员来完成: 逆传:一般使用代理来实现,其中控制器A是控制器B的代理(控制器A监听控制器B,控制器B通知控制器A). 下面是博主写的简单实现了两个控制间实现数据的双向传递的app的demo: 1.这是界面设计: FirstVie

ios-IOS Core Data部分两个Entity之间的RelationShip的存储问题

问题描述 IOS Core Data部分两个Entity之间的RelationShip的存储问题 最近看部分IOS开发视频和书籍时有个问题没想明白: 1.就是在Data Model中创建两个Entity间的Relationship时,这个Relationship会**以某种形式存入数据库**吗? 2.如果存入数据库,那么是否表示当第一次创建Entity间的relationship后,以后每次一个Entity通过relationship获取其他Entity时系统会自动做类似表的连接操作? 3.如果

界面-急求!!!!如何实现两个自定义控件之间传值

问题描述 急求!!!!如何实现两个自定义控件之间传值 最近做一个项目,需要写手势解锁,借鉴了网上的代码,但是要求的效果是下面实现滑动解锁,上面还有一个gestureview实现显示密码输入提示,自然而然我就想到在xml中画了两个gestureview,画面效果是实现了,可是突然发现两个界面之间不知道怎么传递数据,如果不实时传入下面gestureview的手势密码,那么上面就不能绘制相应的图形,请大牛帮我想个办法啊 我是新人,没什么c币 回头会补上的 解决方案 GetPostBackEventRe

ios-UITapGesture中如何设置两个tap之间的最长持续时间?

问题描述 UITapGesture中如何设置两个tap之间的最长持续时间? 在IOS应用中,用了UITapGesture,numberOfTapsRequired,需要指定两个tap之间的最长的duration. 理想状态时:如果时间超出了,gesture就不会执行,不知道怎么实现? 谢谢 解决方案 不需要操作tap gesture中每个tap的最长时间间隔,只要指定需要操作和tap的次数,在用下面方法在tap gesture中检查state. - (void)handleTap:(UITapG

iOS开发拓展篇—应用之间的跳转和数据传递

iOS开发拓展篇-应用之间的跳转和数据传 说明:本文介绍app如何打开另一个app,并且传递数据. 一.简单说明 新建两个应用,分别为应用A和应用B. 实现要求:在appA的页面中点击对应的按钮,能够打开appB这个应用. 1.新建两个应用,分别为A和B. 2.设置应用B的url. 3.在应用A中编写打开app的代码 点击之后,会跳转到新的控制器. 注意:打开应用B的过程中,B有两种状态. 第一种状态:B并没有启动,那么会启动B.并调用下面的方法. 第二种状态:此时B已经启动了,但是在后台运行,

界面-不同viewcontroller之间转场的问题

问题描述 不同viewcontroller之间转场的问题 要实现的效果是,点击按钮从第一个页面跳转到第二个页面并停留2S,之后自动跳转到第三个(shake)页面. (IBAction)goToNext:(id)sender { [self performSegueWithIdentifier:@"sender" sender:self];//实现第一个跳转没有问题 NSLog(@"end"); [self performSelector:@selector(segu

在ORalce 中,怎么判断两个时间段之间是否有交集, 编写的一个函数.

函数 判断2个时间段是否有交集的函数,开始是在我计算考勤的时候有用过,后来发现用到的地方越来越多,  丢个砖头 9i 下通过. 两个时间段 之间是否有交集  intime---outtimefromdate--todate 如果有交集,则返回1,否则返回0*/create or replace function func_IsTimeCross(intime in date, outtime in date,fromdate date , todate date ) return number

MFC怎样提取字符串中两个逗号之间 的数据

问题描述 MFC怎样提取字符串中两个逗号之间 的数据 比如字符串: "$GPGGA,024055.00,4002.2168,N,11618.1074,E,1,12,0.0,75.88,M," 怎样提取两个逗号之间的数据,例如"4002.2168"? 我试着使用例如 .Mid(17,14)函数,但是并不好用,因为字符串的长度经常会改变. 解决方案 先用CString的Find找到前后两个逗号的位置,然后在用Mid来截取.这样就可以适应动态变化的字符串 解决方案二: 参