我想将一些数据传递给fire方法。所以我使用'userInfo'
我确实喜欢这个:
struct MyStruct* userinfo = malloc(sizeof(struct MyStruct));
userinfo->a = 1;
userinfo->b = 2;
NSTimer *myTimer = [NSTimer scheduledTimerWithInterval:0.05 target:self selector:@selector(myFireMethod:) userInfo:userinfo repeats:YES];
但是问题发生了,iOS应用程序在运行scheduledTimerWithInterval
方法时崩溃了。
'userinfo'肯定有问题。可能是什么错误?
答案 0 :(得分:1)
userInfo必须是Objective C对象,因为它在分配期间保留。
如果你想传递C-struct,你必须用NSValue包装它:
NSValue* val = [NSValue valueWithPointer: your_struct_ptr];