加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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];

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读