objective-c-blocks相关内容

iOS后台获取和完成块

我正在尝试定义此方法 - (void)backgroundFetchWithCompletion:(void(^)(UIBackgroundFetchResult))completionHandler; 但是我在UIBackgroundFetchResult上遇到一条错误,说只允许使用没有类型的参数列表,我正在按照本教程和本解决方案 在执行完某些操作后,您必须调用列表中的一个. ..
发布时间:2020-05-19 18:36:36 移动开发

从delphi调用目标C代码块

我正在尝试在我的firemonkey应用程序中执行后台获取. 到目前为止,我的perfromFetchWithCompletionHandler被调用并下载新信息. 问题是当我完成提取操作并需要调用completionHandler代码块时,应用程序挂起并且没有任何异常(至少可以读取) 设置: TBackgroundFetchResultHandlerC = procedu ..
发布时间:2020-05-19 18:36:34 移动开发

对多个位置进行地理编码-知道何时“全部"完成块已被调用

我正在使用CoreLocation的地理编码器来获取多个地图项的CLLocation坐标.地理编码器会在每个项目完成时调用一个完成块. 当所有包含异步地理编码器调用的全部完成后,如何创建类似的块功能? (我可以使用手动计数器.但是必须有一个更优雅的解决方案) 到目前为止,这是我的地理编码功能.它将遍历一系列位置项,并为每个位置项启动新的地理编码过程. -(void)geoCode ..

在后台线程中读取CGImageRef会使应用程序崩溃

我有一个很大的jpeg图像,我想在我的opengl引擎中异步加载到图块中. 如果它在主线程上完成,但一切正常,一切都会很好. 当我尝试将图块加载到NSOperationBlock上时,尝试访问以前在主线程上加载的共享图像数据指针时,它总是崩溃. 必须使用后台操作才能获得某些东西,因为我假设我可以访问我在主线程上创建的内存部分. 我想做的是以下事情: @interface M ..
发布时间:2020-05-19 18:36:25 移动开发

在一个块中调用一个方法?

我是ARC的新手.我想在一个完整的块中调用一个方法,但得到警告:在此块中强烈捕获“自身"可能会导致保留周期..代码: - (void) handlerComplete { //... } - (void) loadData { ... operation.completeBlock = ^(NSInteger index) { [self handl ..
发布时间:2020-05-19 18:36:20 移动开发

OCMock和块

我有一个具有以下签名的方法,我想使用OCMock的存根功能进行测试: - (void)signInWithEmail:(NSString *)email andWithPassword:(NSString *)password andWithBlock:(void (^)(GNCustomer *customer, NSError *error))block 我该如何模拟它来处理返回的块 ..
发布时间:2020-05-19 18:36:00 移动开发

在区块中保留自我有什么害处?(Objective-C,GCD)

在许多有关如何使用积木和GCD的指南中,总是提到一个技巧:不要将自己保留在积木中. 详细信息是在定义块时,如果引用self或self的ivar,则self被该块保留.因此,解决方法是使用__block修饰符获取weakSelf或weakIvar. 但是不这样做有什么害处?如果该块保留了self,则应在该块完成时释放self(我对吗?).因此,最终自我的参考数量是平衡的.我知道如果sel ..

是否可以扩展现有的Objective-C模块?

我有一个使用在标题中定义的Block的类,如下所示: @property (readwrite, copy) RequestSucceededBlock succeededBlock; 属性succeededBlock已使用块设置.有没有一种方法可以用仍然调用原始代码的另一个代码块替代此代码块,类似于类继承? 我认为这是不可能的,因为应该使用类继承来表示类似的事情.还有可能吗? ..
发布时间:2020-05-19 18:35:43 移动开发

ARC:从块内部,委托方法内部调用方法时,EXC_BAD_ACCESS

我在委托方法内部创建了一个块,并使用它在另一个类中调用静态方法.即使启用了NSZombies,我也会收到EXC_BAD_ACCESS错误.关于类似问题,这里有几篇文章-我认为这是最接近的文章: ARC:从中获取EXC_BAD_ACCESS委托方法中使用的内部块 但是,到目前为止,我还没有发现有任何帮助.这是代码: @interface MyClass() @property (n ..
发布时间:2020-05-19 18:35:41 移动开发

NSInvocation和block有什么区别?

当我说“阻止"时,我的意思是: ^(int a) {return a*a;}; 此外,阻止仅受iOS4及更高版本支持. 这两者有什么区别? NSInvocation是给对象的消息(使用选择器),带有可选参数,该消息可以稍后(或现在)在对象外部执行.当前上下文(当然要记住复制,保留或引用的内容,如果移动的话). NSInvocation的优点是您可以有选择地复制/准确引用您所需要的 ..
发布时间:2020-05-19 18:35:38 移动开发