1

我试图将一个函数放在另一个函数中,但我得到:

'self' 未在此范围内声明

这是代码:

-(void) alone {
    label.text = [NSString stringWithFormat:@"Hello world"];
}

void *multithreading( void *ptr ) {
    [self alone];
}

那么 O 发现,如果最后一个代码更改为,警告/错误就会消失:

-(void *) multithreading:( void * )ptr {
    [self alone];
}

我试图保持多线程保持不变,否则我的代码将无法工作,所以请帮帮我。

4

1 回答 1

1

您不能在 c 函数中访问目标 c 变量。你应该self作为参数传递给 c 函数。

void *multithreading( void *ptr , void *info) {// self in info
    id obj;
    if (info)
   {
    obj = (id)info;
    [obj alone];
   }
}
于 2012-07-02T14:12:12.600 回答