automatic-ref-counting相关内容
非常类似于 这个问题,我正在尝试转换一个使用 ASIHTTPRequest & 的项目ASIFormDataRequest 到 ARC. 在我的视图控制器类中,我经常在完成块中引用和使用 request 对象的属性(查看响应代码、响应数据等): __block ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:
..
在启用 ARC 的代码中,如何在使用基于块的 API 时修复有关潜在保留周期的警告? 警告: 在这个block中强烈捕获'request'很可能会导致retain cycle 由这段代码产生: ASIHTTPRequest *request = [[ASIHTTPRequest alloc] initWithURL:...[请求 setCompletionBlock:^{NSDic
..
有没有办法指定一个特定的方法参数具有弱语义? 详细说明,这是一个按预期工作的 Objective-C 示例代码: - (void)runTest {__block NSObject *object = [NSObject new];dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0),^{[s
..
在更新我的一些代码以与 iOS 5 SDK 兼容时,我尝试通过在 Xcode 中使用“Convert to Objective-C ARC"来重构我的代码并收到一个错误.错误发生在我的 .h 文件中的实例变量上. NSError **_error; 错误显示“指向没有明确所有权的非常量类型‘NSError *’的指针."我该如何解决这个问题? 解决方案 在实例变量中存储 NSError
..
我是ARC的新手,并且已经玩了不到一周.我想做的是非常基本的.我有一个显示按钮的视图控制器.当我单击按钮时,需要调用相应的选择器.但是,使用ARC,应用程序崩溃并显示EXC_BAD_ACCESS消息.下面是我的MainViewController中的代码 -(void)loadView{[super loadView];UIButton * testButton = [UIButton butt
..
我需要画一个开放的弧线. 但是,当我输入这些值时,例如: Arc arc = new Arc();arc.setCenterX(100.0f);arc.setCenterY(100.0f);arc.setRadiusX(80.0f);arc.setRadiusY(80.0f);arc.setStartAngle(0.0f);arc.setLength(80.0f);arc.setType
..
比较以下两个片段: (d为IPersistStream).Save(TStreamAdapter.Create(TFileStream.Create('test.bin',fmCreate),soOwned),true);(d为IPersistStream).Load(TStreamAdapter.Create(TFileStream.Create('test.bin',fmOpenRead),
..
考虑以下ARC代码: -(void)主要{NSString * s = [[[NSString alloc] initWithString:@"s"];[NSApp beginSheet:sheetmodalForWindow:窗口modalDelegate:自我didEndSelector:@selector(sheetDidEnd:returnCode:context :)contextIn
..
我有以下代码: AFHTTPRequestOperation * operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];operation.completionBlock = ^ {if([operation hasAcceptableStatusCode]){}}; ARC似乎不喜欢[operation
..
我正在使用Objective-C,并且在使用ARC编译器编译代码时,我不知道如何创建和调用不带参数的方法. 这是我试图在非ARC Objective-C中完成的事情(无论如何这可能是错误的.) ////Dummy.m//OutParamTest#import" Dummy.h"@实现假人-(void)foo {NSString * a =零;[self barOutString:& a];
..
我正在尝试解决一个更大的问题,并且我在指出ARC显然为时过早将视图发布到我的NSViewController的事实.我认为:)因此,我创建了一个简单的应用程序来重建情况. 我有一个简单的ARC Cocoa应用程序.在 MainMenu.xib 的窗口中,我将 Custom View 连接到 @property(强)IBOutlet NSView * theView; 在 AppDelegat
..
我有一个与ARC有关的问题.在我的界面中,我已将uiwebview声明为strong属性.在我的代码中,我像这样延迟加载: - (UIWebView *)aWebView{ if(aWebView == nil){ aWebView = [[UIWebView alloc] initWithFrame:self.bounds]; } return aW
..
我正在使用ARC,有一个CustomTableViewController,并且正在向我的背景单元格,页眉和页脚中添加一个CustomView. 例如,在tableView:viewForFooterInSection方法中,我输入了以下代码行: - (UIView *) tableView:(UITableView *)tableView viewForFooterInSection
..
当应用程序进入后台时,我的View Controller类将被释放.我正在使用ARC. 我有一个UIViewController,当应用程序激活并执行方法时,该UIViewController订阅通知.但是,一旦应用程序在后台运行约30秒钟,然后恢复运行,该应用程序就会崩溃,并显示“消息发送到已释放实例". 启用Zombie对象显示视图控制器本身就是僵尸. 谢谢! 我的视图
..
这些代码将得到警告:将保留对象分配给弱变量对象将在分配后被释放 __weak NSString *str = [[NSString alloc] initWithFormat:@"1234"]; NSLog(@"url:%@",str); 但是nslog将正常打印1234,似乎对象在分配后没有释放,那么释放什么时候发生? 解决方案 您可以通过在程序的环境中将OBJC_DISABL
..
我有一个具有多个视图控制器和ARC的iOS应用.视图控制器之一具有UIScrollView和UIPageControl的IBOutlet.加载该视图控制器后,该错误将显示在控制台中: *** -[NSRecursiveLock dealloc]: lock ( '(null)') deallocated while still in
..
我有一个地图应用程序,它使用外围滑入/滑出右视图控制器,就像下面显示的Google Maps应用程序( 在我的应用中,此滑出视图具有weak delegate属性,我将地图视图控制器设置为委托(例如,在myMapViewController内部的mapOptionsViewController.delegate = self).我也希望使用右手幻灯片查看其他类型的信息.例如.在地图上显示用户选
..
如果我将一个对象(例如,一个视图控制器)设置为nil,它的属性(如按钮和标签)也会在ARC下释放吗?如果属性为强类型并分配,会发生什么情况?另外,当不使用ARC时,在我的delloc方法中,是否只释放保留类型属性? 解决方案 您应该阅读基本上,这取决于.除非其他实例保留了该视图控制器,否则它将被释放.然后,当它被释放时,它的属性将被释放-除非其他实例保留了它们. 如果将这些属性引用的
..
我的程序运行完美.我向您保证,有0个bug.荣幸地,我尝试将应用程序打包为.ipa文件,以便使用TestFlight临时分发给我的Beta测试人员. 该程序无效.本来应该发生的动画从未发生过.网络代码中断.漂亮地淡出音乐的按钮根本没有任何作用. 事实证明,罪魁祸首是新的闪亮块.当我在模拟器或设备上测试程序时,我使用了默认的“调试"构建配置.但是,当我将其存档以进行分发(并且以后相信会提
..
我试图在我的iOS应用程序的最前面的窗口中添加(背景)蒙版视图.在该蒙版视图上,我想添加一个UITapGestureRecognizer来关闭蒙版视图.最终,我想在中间显示一个弹出窗口(即,我的蒙版视图是该弹出窗口的褪色背景),但现在我只是很难让我的背景像预期的那样消散. 代码如下:我得到最前面的窗口.我创建背景视图并添加Alpha.然后添加我的手势识别器,将其添加到窗口中并添加约束.
..