草庐IT

collisions_block

全部标签

objective-c - ARC __bridge cast Block_copy 和 Block_release

出于某种原因,我希望在运行循环的下一次迭代期间执行一个block,所以我想出了:typedefvoid(^resizer_t)();-(void)applyResizer:(resizer_t)resizer{resizer();Block_release(resizer);}-(void)usage{...resizer_tresizer=^(){//stuff};[selfperformSelectorOnMainThread:@selector(applyResizer:)withObject:(__bridgeid)Block_copy((__bridgevoid*)resiz

Objective-C:以相反顺序对数组进行 block 枚举?

这个问题在这里已经有了答案:HowcanIreverseaNSArrayinObjective-C?(18个答案)关闭9年前。NSArray有enumerateWithBlock方法,但我需要以相反的顺序枚举,是否有一个block可以做到这一点,还是我必须使用for循环,甚至不是快速循环,而是传统的for(inti=array.count-1;i>=0;i--)one?谢谢!

ios - 从 block 返回导航

我有一个我认为是UX的东西在后台线程上发生的操作。在使用block的方法中,我调用成功:[self.navigationControllerpopViewControllerAnimated:TRUE];我遇到了崩溃,所以我认为检查当前线程并调用performSelectorOnMainThread可能会解决这个问题,但我不确定如何设置调用的@selector部分。[selfperformSelectorOnMainThread:@selector([self.navigationControllerpopViewControllerAnimated:TRUE])withObject:

iphone - 在 iOS 设备上截屏时如何修复丢失的 "blocks"数据?

我有一个似乎无法解决的问题。我正在尝试截取UIScrollView(包括屏幕外内容)的屏幕截图,但是当View很长时,renderInContext不会获取ScrollView的所有内容。生成的图像尺寸是正确的,但渲染数据似乎缺少显示block,在这些block应该出现的地方留下了空白。缺少的block来自UIWebView中的内容,我认为它被设置为“scaleToFit”。它不会每次都发生,它似乎只在UIWebView的高度相当大时发生。这让我觉得与UIWebView的缩放有关。如果我调整下面的coreLayer.boundsCGRECT,我会得到不同的结果,有时丢失的block在底

iphone - 是否可以标记 block ?

我正在开发一款基于回合制的iOS游戏,并试图填充玩家参与的游戏列表。for(unsignedi=0;i不幸的是,我遇到了一个问题,我无法用它的索引标记每个block。也就是说,到block执行时,i始终为0。有没有一种方法可以确保block知道启动时i是什么? 最佳答案 我回避了如果最后一场比赛结束我的UITableView不会重新加载的问题,而是这样做:GKTurnBasedMatch*match;for(intj=([matchescount]-1);j>=0;j--){match=matches[j];if(match.sta

ios - iOS 应用程序崩溃 : ZL36GetSFTrimCharSetForChineseOrJapanesePPK9TFontInfo_block_invoke

我在XCode“Organizer”中发现错误“ZL36GetSFTrimCharSetForChineseOrJapanesePPK9TFontInfo_block_invoke”。我尝试将我的iPhone设置为日语或中文,但没有出现错误。什么可能导致此错误,我该如何解决?我很抱歉我的英语不好。这是崩溃日志:ExceptionType:EXC_BAD_ACCESS(SIGSEGV)ExceptionSubtype:KERN_INVALID_ADDRESSat0x00000000TriggeredbyThread:0Thread0name:Thread0Crashed:0CoreFou

ios - Uncrustify:嵌套 block 索引错误

我有这个代码:dispatch_async(dispatch_get_main_queue(),^{if(self.adAppearBlockIsAnimated){[UIViewanimateWithDuration:kAnimationTimeanimations:^{self.adAppearBlock();}];}});不幸的是,Uncrustify让它看起来像:dispatch_async(dispatch_get_main_queue(),^{if(self.adAppearBlockIsAnimated){[UIViewanimateWithDuration:kAnima

objective-c - NSFileVersion 调用 removeOtherVersionsOfItemAtURL 期间的 EXC_BAD_ACCESS : inside coordinated write block

我正在使用似乎简单调用NSFileVersion类方法removeOtherVersionsOfItemAtURL:在一些iCloud的协调写入block中冲突解决。当我的设备进入“spaz模式”时,这是一个技术术语,用于在一些设备上重复打开和关闭应用程序,内部会抛出一个EXC_BAD_ACCESS异常。代码片段:-(void)compareVersionChanges:(NSFileVersion*)version{if(![DataLoaderiCloudPreferenceEnabled]){NSLog(@"IgnoringiCloudchanges(versioncompari

iphone - 在 Objective C 中使用 block 编程进行内存管理

我正在阅读以下有关调度队列中完成block的Apple文档,但我无法理解其中的一部分。该文件提到“为了防止过早释放队列,最初保留该队列并在分派(dispatch)完成block后释放它是至关重要的。”这与我在BlockProgrammingGuide中提到的block在其闭包中保留所有变量的理解相矛盾。我在这里错过了什么?文档中的片段粘贴在下面:Acompletionblockisjustanotherpieceofcodethatyoudispatchtoaqueueattheendofyouroriginaltask.Thecallingcodetypicallyprovidest

ios - 是否可以在 NSManagedObject 中存储一个 block ?

如果可能的话,我想在核心数据NSManagedObject中保留一个block。我有一个从NSManagedObject继承的类。这个类有一个block来满足一些异步调用。我试图将block存储为Transformable和Transient属性。当我尝试在加载我的NSManagedObject之前调用该block时,我的内存访问错误"EXC_BAD_ACCESS"。如果我不检查可转换标志,我会遇到与此类似的异常:-[__NSStackBlock__encodeWithCoder:]:unrecognizedselectorsenttoinstance0xbfffd930我是iOS新手