通过NSTimer看IPhone对@selector的函数如何传参数
2012-05-09 14:46
483 查看
NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
if(oldView != nil)
{
[dict setObject:oldView forKey:@"oldView"];
}
if(newView != nil)
{
[dict setObject:newView forKey:@"newView"];
}
[NSTimer scheduledTimerWithTimeInterval:0.0 target:self
selector:@selector(onTimer:)
userInfo:dict repeats:NO];
[dict release];
- (void)onTimer:(NSTimer *)timer
{
UIView *oldView = [[timer
userInfo] objectForKey:@"oldView"];
UIView *newView = [[timer
userInfo] objectForKey:@"newView"];
[UIView animateWithDuration:2.0 delay:0
options:UIViewAnimationOptionAllowUserInteraction
animations:^{
oldView.alpha =
0.0;
newView.alpha =
1.0;
}
}
从上可以看出,NSTimer在对@selector(onTimer:)传递参数时,将传参的对象储存在了NSTimer的userInfo的字典里,在-
(void)onTimer:(NSTimer *)timer中
通过取出该字典加以使用。
这个其实也就是iphone对@selector对象传参的通用的形式。
相关文章推荐
- 通过NSTimer看IPhone对@selector的函数如何传参数
- 通过NSTimer看IPhone对@selector的函数如何传参数
- 通过NSTimer看IPhone对@selector的函数如何传参数
- IPhone对@selector的函数如何传参数 (nstimer)
- IPhone对@selector的函数如何传参数
- IPhone对@selector的函数如何传参数
- Java反射 类类型就是可以操作的类本身 如何通过反射得到函数 函数返回值 函数参数
- @selector的函数如何传参数/如何传递多个参数
- c++中如何通过函数参数对指针进行赋值
- ios开发@selector的函数如何传参数/如何传递多个参数
- c++中如何通过函数参数对指针进行赋值
- js 函数中如何传递数组参数
- 如何通过调节gamma曲线以调节图像的对比度,亮度等参数
- 通常情况下你想通过函数参数获取一段动态分配的内存时需要用到
- iphone @selector带参数问题
- 如何使用定时器settimeout、setInterval执行能传递参数的函数(转)
- VB编写各类COM对象(特别是ASP)时,如何让外部对象使用含有可选参数的函数
- 如何通过Mac上的Safari调试iPhone应用里的webView
- 如何关闭应用程序本身 通过PostMessage函数可以实现
- vue中如何不通过路由直接获取url中的参数