我正在编写一些iOS代码,我发现当我在'touchevent'回调(内存访问冲突)中写入顶点数组所使用的内存时偶尔会出现错误。
我认为触摸事件是在一个单独的线程中进行的,因此,如果touchevents导致顶点数组发生更改,我将需要排队消息,这将由主要数据拾取线程(完成所有渲染)以对顶点数组进行必要的更改。
根除对写入图形内存的函数的所有调用应该相当容易。但是作为一个安全措施,我想检查某些子程序中我正在使用的主线程(主线程与否)(因此该错误不会再次隐藏起来)。
在iOS中是否有办法以编程方式检查我所在的主题(主线程与否)?
答案 0 :(得分:2)
如果您在主线程上,则会记录以下代码段。
NSLog(@"[%@ %@] Is Main Thread? %@",NSStringFromClass([self class]), NSStringFromSelector(_cmd),[NSThread isMainThread]?@"YES":@"NO");
使用这段代码。
[NSThread isMainThread]
回答你的问题