草庐IT

Block_release

全部标签

iphone - 使用 block 排队动画

在我的didSelectRowAtIndexPath方法中,我调用[selfdismissView];当用户选择一个单元格以便关闭View(如果它已经显示)。这显然不是最优的,并且它在没有为dismissView设置动画的情况下覆盖了presentView方法。有一个更好的方法吗?或者至少让它等待View完成动画而不使用NSTimer。-(void)tableView:(UITableView*)tableViewdidSelectRowAtIndexPath:(NSIndexPath*)indexPath;{[selfdismissView];//Doxyz...[selfprese

iphone - 创建我的第一个 iPhone 应用程序.. 重定位 block

所以我有一个block在iPhone内置加速度计的帮助下移动,另一个block随机出现在屏幕上。我正在尝试使用if语句来确定移动block是否点击或触摸了固定目标block,如果它这样做,它将随机重新定位到屏幕上的另一个位置。除了确定两个坐标在任何给定点是否相等之外,一切正常。到目前为止..编辑:*所以我删除了xx和yy变量并将它们替换为self.xVar和self.yVar,这似乎工作了一点,但非常粗略并停止了edit2:**所以它删除xx和yy确实有帮助,但它只适用于2-3次点击,然后停止。edit3**意识到具有相同的x或y变量不是解决此问题的正确方法..-(void)accel

ios - block 如何处理 __weak 引用

从大量关于打破block内保留循环的问题中,我的问题如下:该block实际上如何处理其中的__weak引用?我知道这一点(摘自here):BlockswillretainanyNSObjectthattheyusefromtheirenclosingscopewhentheyarecopied.那么它是如何处理__weak资格所有权的呢?理论上,因为它是__weak,所以不会保留它?会只保留对它的引用吗? 最佳答案 正确,弱引用不会被保留。它完全按照您的预期工作。一旦对象被释放,它们将被设置为nil。虽然这通常是好的(您不希望它仅仅

ios - ARC block ,弱和保留计数

我以为我已经很了解弱引用和block,但是在尝试下面的代码片段时,有一些我不明白的地方。方法测试1:一切正常,对象不保留方法测试2:我不明白为什么对象似乎一直保留到方法结束测试3!甚至明确设置object=nil在方法结束时测试2不会改变任何东西。方法测试3:对象没有保留。为什么是方法测试2不是这样吗?作为一个附带问题,我实际上想知道弱变量是否是线程安全的?即,如果我在尝试从不同线程访问弱变量时永远不会得到任何BAD_ACCESS异常。@interfaceObject:NSObject@property(nonatomic)NSIntegerindex;@end@implementat

iphone - iOS不清理UIView动画的完成 block 吗?

我在使用UIView动画block时遇到了一些奇怪的事情。在我运行我的动画代码后,一个View从未被释放。在调用动画代码之前,我将view属性设置为nil。然后在完成block内,我将它从superview中删除,所以在淡出后它就消失了。但是那个淡出和移除View的-dealloc永远不会被调用。然后我想也许完成block保留了View并使用有效的__weak进行了弱引用。动画完成后突然正确释放View。但在动画block本身中,我只是简单地引用View并将其alpha设置为0。没有__weak引用,View仍会正确解除分配。结论:iOS在动画完成后清理动画block。但它不会清理完成

ios - 在类中定义 block 以在其他地方使用

我试图在一个类中定义一个block类型,以便我可以在其他类中使用它。我把它放在一个随处使用的类的.h中......typedefvoid(^ProgressBlock)(floatprogress);但我现在想在其他地方使用这个block。我有一个导入正确.h文件的类,但ProgressBlock不可用。有什么方法可以定义block以便我可以在多个类中使用它吗? 最佳答案 制作一个常量文件(C和C++头文件)定义您在其中的block。将该文件导入您想要使用该block的任何地方。 关于i

ios - AFNetworking 2 AFHTTPRequestOperation 失败 block 从错误 userInfo 中剥离 key

我刚刚将我的应用程序从AFNetworking1.3.3更新到2.0.1,这需要重写用于子类化AFHTTPClient的网络客户端。我将AFHTTPClient换成AFHTTRequestOperationManager(我需要支持iOS6),除此之外一切正常:服务器给我一个JSON错误字符串,其中包含错误的详细信息:error.userInfo.localizedRecoverySuggestion但是,这个键(localizedRecoverySuggestion)不再在我的NSError对象中。有人知道我如何访问它吗?或者AFNetworking的哪一部分正在剥离它?服务器仍在发

ios - Tab Bar Item 是一个灰色方 block

如您所见,只有一个大的灰色方block,而不是图像。我的Assets目录中有一张图片,我已经通过属性检查器对其进行了设置。图片是50x50px,我在文档中读到它可以是任何尺寸但不能大于96x96。屏幕截图如下。谢谢!1: 最佳答案 iOS7存在bug,未选中的tabbaritem总是灰色。试试这个:(在AppDelegate应用程序中添加:didFinishLaunchingWithOptions:)UITabBarItem*item1=self.tabBarController.tabBar.items[0];item1.imag

iOS block 和同步性

我对我的应用程序中的block和同步性有疑问。这是场景:我有一个NetworkManager,它使用AFHTTPRequestOperationManager(AFNetworking2.0)来调用服务器。我有一个ContentStore类单例,它为应用程序提供内容。应用程序中的任何类都可以向内容存储请求内容,它会传递一个block来接收该内容。如果ContentStore在内存或存档中有内容,它会将它传递给请求内容的类中的block。如果没有,它会向NetworkManager发出请求,并将一个block传递给NetworkManager,当内容从服务器到达时,该block会调用原始

ios - AFJSONRequestOperation : variable 'operation' is uninitialized when captured by block

我在第6行的这段代码中收到上述警告,并且userInfo在该block中也变为nil。请提出一些建议来消除此警告和userInfo问题。AFHTTPClient*httpClient=[[AFHTTPClientalloc]initWithBaseURL:[NSURLURLWithString:@"someurl"]];[httpClientregisterHTTPOperationClass:[AFJSONRequestOperationclass]];[httpClientsetParameterEncoding:AFJSONParameterEncoding];[httpClie