好的,我现在已经在这里待了大约2个小时。
我可以在模拟器中运行以下代码行,但我无法在设备上进行编译,我不知道为什么。
我一直收到编译错误'没有可见的@interface用于' NSThread'声明选择器' start'。错误发生在[t start];
行以下是代码:
@interface FMThread : NSObject {
@private
NSCondition *waitCondition;
}
@property (copy) void (^block)(void);
+ (void)runInSeparateThread:(void (^)(void))block;
@end
@implementation FMThread
+ (void)runInSeparateThread:(void (^)(void))block
{
FMThread *thread = [[FMThread alloc] init];
thread.block = block;
thread->waitCondition = [[NSCondition alloc] init];
[thread->waitCondition lock];
NSThread *t = [[NSThread alloc]initWithTarget:thread selector:@selector(threadMain) object:nil];
[t start];
[thread->waitCondition wait];
[thread->waitCondition unlock];
}
- (void)threadMain
{
@autoreleasepool {
self.block();
[waitCondition broadcast];
}
}
@end
非常感谢任何帮助。我想我坐在靠近树林的地方看到了这里的福雷斯特。