objective-c – 使用xcode中的线程调用函数
发布时间:2020-12-14 19:35:26 所属栏目:百科 来源:网络整理
导读:我已经在 xcode中创建了一个线程,我已经给出了从该线程调用的函数名称. ??但我的问题是没有调用给调用的函数名称(在该函数中放置断点时才知道) 码: NSThread* myThread; [myThread start]; [self performSelector:@selector(func1:) onThread:myThread with
我已经在
xcode中创建了一个线程,我已经给出了从该线程调用的函数名称.
??但我的问题是没有调用给调用的函数名称(在该函数中放置断点时才知道) 码: NSThread* myThread; [myThread start]; [self performSelector:@selector(func1:) onThread:myThread withObject:nil waitUntilDone:false] 后来我也尝试了这个: NSThread* myThread = [[NSThread alloc] initWithTarget:self selector:@selector(func1:)object:nil]; [myThread start]; 上面的func1是要调用的函数的名称. 那么任何人都可以告诉我如何创建线程并从那里调用func1 …. 解决方法
在您的第一个代码示例中,它看起来并不像您实际创建新线程.你创建一个空的myThread变量,然后调用start,但这只会导致start被发送到nil.然后将空线程变量发送到performSelector:onThread:withObject:waitUntilDone:方法,该方法可能不执行任何操作.
在使用performSelector实际运行某些东西之前,您需要正确创建一个线程:onThread:withObject:waitUntilDone:. 或者,假设您不关心该方法运行的后台线程,只需使用performSelectorInBackground:withObject:就会容易得多.例如: [self performSelectorInBackground:@selector(func1:) withObject:nil]; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |