草庐IT

collisions_block

全部标签

ios - Xcode 省略 block 的参数名称

我有一个如下所示的block属性:@property(nonatomic,copy)void(^indexChangeBlock)(NSIntegerindex);当我尝试为此属性设置值时,Xcode自动完成功能将省略参数名称,留下如下内容:[self.segmentedControl3setIndexChangeBlock:^(NSInteger){code}];然后Xcode显示一个Parameternameomitted错误。我知道我可以通过手动添加参数名称来解决这个问题,使其看起来像这样:[self.segmentedControl3setIndexChangeBlock:^(

ios - 为什么在使用 ARC block 时出现 EXC_BAD_ACCESS_EXCEPTION(代码= EXC_ARM_DA_ALIGN)?

我正在编写一个应用程序,我需要将PNG和JPG图像发送到服务器。将JPEG/PNG图像转换为Base64字符串的代码我写为Obj-Cblock。但是当我尝试将block返回的字符串添加到NSDictionary时,我得到了code=EXC_ARM_DA_ALIGN。在我的项目中,我使用ARC。我读了几篇关于这个问题的帖子ARC:EXC_BAD_ACCESSwhencallingamethodfrominsideablock,insideadelegatemethod所以我使用复制!但它对我没有帮助。在我使用copy之前,我得到了EXC_BAD_EXCEPTION代码=1,现在标题上有代

ios - 异步 block 的推荐设计模式?

我正在开发一个具有高度异步设计的iOS应用程序。在某些情况下,单个概念性“操作”可能会将许多子block排队,这些子block将异步执行并异步接收它们的响应(对远程服务器的调用)。这些子block中的任何一个都可能在错误状态下完成执行。如果任何子block中发生错误,则应取消任何其他子block,错误状态应向上渗透到父block,并应执行父block的错误处理block。我想知道在这样的环境中可以推荐哪些设计模式和其他技巧?我知道GCD的dispatch_group_async和dispatch_group_wait功能。这可能是此应用程序设计中的一个缺陷,但我对dispatch_gr

ios - NSMutableArray 集合和@Synchronized block

在ObjectiveC中,我使用来自不同线程的NSMutableArray实例,我使用@synchronized使其线程安全。目前我对这个数组的所有访问都受到@synchronizedblock的保护,甚至是objectAtIndex:方法。尽管如此,我想知道哪些方法调用真的需要用@synchronized来保护。我需要保护读取权限吗?如果'ObjectAtIndex'不protected并在'removeObject'的同时被调用,会发生什么情况?如果所有方法都受到@synchronized的保护,性能会怎样?(我正在编写一个tcp/udp游戏服务器,如果它会降低性能或生成锁,我真的

ios - 为什么不同的 block 动画常量具有相同的值?

UIViewAnimationOptions使用block为View设置动画的选项。enum{UIViewAnimationOptionLayoutSubviews=1考虑iOS文档中关于枚举的定义。我的问题是:对于UIViewAnimationOptionCurveEaseInOut,常量是“0此外,我的测试显示UIViewAnimationOptionCurveEaseInOut似乎根本没有任何效果。可能是我理解有误,望有识之士帮忙...http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UIV

ios - 当应用程序进入前台时,如何重新启动基于 block 的动画?

我有以下基于block的动画:[UIViewanimateWithDuration:0.5fdelay:0.0foptions:UIViewAnimationOptionRepeat|UIViewAnimationOptionAutoreverse|UIViewAnimationOptionAllowUserInteraction|UIViewAnimationOptionCurveEaseInOutanimations:^{[view.layersetTransform:CATransform3DMakeScale(1.3f,1.3f,1.0f)];NSLog(@"animating

objective-c - ObjC block 和 openssl C 回调

有一个简单的一次性任务需要一个进度条。OpenSSL有一个有用的可以为此使用的回调:rsa=RSA_generate_key(bits,RSA_F4,progressCallback,NULL);与staticvoidcallback(intp,intn,void*arg){..stuff但是我想毫不费力地从ObjectiveC中调用它:MBProgressHUD*hud=[MBProgressHUDshowHUDAddedTo:self.viewanimated:YES];hud.mode=MBProgressHUDModeAnnularDeterminate;hud.labelTe

objective-c - 你应该经常使用 try/catch/finally block 吗

作为具有Java背景的开发人员,我习惯于经常捕获异常以防止它们使我的应用程序崩溃。这包括各种委托(delegate)方法。只是针对意外情况的额外安全措施。我的问题是这种方法在objective-c中是否明智,它是否会引入某种性能问题?换句话说,如果我更频繁地使用try/catchblock,我的应用程序会受到任何影响吗? 最佳答案 不会那么吃亏,但是你要记住一点。与在其他语言中可能有ConnectionRefusedException或FileNonexistantException不同,在objective-c中,异常在90%的情

ios - 一些涉及 block 方法和 OCMockito 的验证

我正在使用OCMockito,我想在我的ViewController中测试一个使用NetworkFetcher对象和block的方法:-(void)reloadTableViewContents{[self.networkFetcherfetchInfo:^(NSArray*result,BOOLsuccess){if(success){self.model=result;[self.tableViewreloadData];}}];}特别是,我想模拟fetchInfo:以便它返回一个虚拟的result数组而不访问网络,并验证reloadData方法在UITableView上被调用,模

ios - 我可以使用 addOperationWithBlock :? 取消添加到 NSOperationQueue 的 block 吗

我读过很多文章都说“积木是future!!!”。我想知道它是否与后台运行操作有关。例如,我有一个表格View,其中包含来自网络的图像。现在我可以使用+[NSOperationQueueaddOperationWithBlock:]获取它们。当单元格可见时,操作将发送到队列。但是一旦单元格滚出屏幕,有没有办法取消它?还是将其子类化为NSOperation的唯一方法?使用block非常简单,所以我只是在尝试解决thisexample之前问这个问题NSOperation的子类... 最佳答案 问题似乎是您是否可以创建可取消的NSBlock