1、采用NSUserDefaults通过值,这样的方法不限于传送少量数据的:
比方你要传一个float的值。在须要传的时候用 [[NSUserDefaults standardUserDefaults] setFloat:float forKey::@"float"] 接收值的时候用 [[NSUserDefaults standardUserDefaults] floatForKey:@"float"]
2、NSNotificationCenter来传值
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { UITouch * touch = [touches anyObject]; CGPoint point = [touch locationInView:self]; CGRect roundRect = [self rectNeedRefreshFromThisPoint:point]; mLastPoint = CGPointMake(-1, -1); NSLog(@"%s: point(%f,%f)", __FUNCTION__, point.x, point.y); [self addToCurrentLineWithPoint:point.x y:point.y]; [self endLine]; [self setNeedsDisplayInRect:roundRect]; NSNumber *pointX = [NSNumber numberWithFloat:point.x]; NSNumber *pointY = [NSNumber numberWithFloat:point.y]; NSDictionary *pointDict = [NSDictionary dictionaryWithObjectsAndKeys:pointX,@"pointX",pointY,@"pointY", nil]; [[NSNotificationCenter defaultCenter]postNotificationName:@"passTouchedEndPointMsg"object:self userInfo:pointDict]; }
在消息中心的函数:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(getTouchedPoint:) name:@"passTouchedEndPointMsg" object:nil];
- (void) getTouchedPoint:(NSNotification *)noti { NSDictionary *pointDict = [noti userInfo]; touchedEndPointX = [[pointDict objectForKey:@"pointX"] floatValue]; touchedEndPointY = [[pointDict objectForKey:@"pointY"] floatValue]; NSLog(@"%f:%f",touchedEndPointX,touchedEndPointY); }
用消息来传參数有以下几点说法:object指的是发送者、在poseter端的userInfo里面能够存放要传的參数,必须为NSDictionary类型。在center端获取这个dictionary类型用:[notification userInfo];要得到
版权声明:本文博主原创文章,博客,未经同意不得转载。
转载于:https://www.cnblogs.com/bhlsheji/p/4834293.html
相关资源:数据结构—成绩单生成器