草庐IT

ios - 将非 ARC 项目转换为 ARC 项目而不重新创建它?

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭10年前。我只是想知道是否可以将非ARC项目转换为ARC而无需重新创建它?谢谢

ios - SudzC ARC 版本 - objc_msgSend 调用导致 EXC_BAD_ACCESS 使用 64 位架构

编辑-我已将以下问题追踪到64位与32位架构问题...请参阅我发布的答案以了解我是如何解决的我使用SudzC为Web服务生成SOAP代码。他们为您提供了一个示例应用程序,我能够在设备和模拟器上成功使用它。然后我开始构建我的应用程序。我使用空白应用程序模板(启用了CoreData和ARC)将SudzC生成的文件导入到一个新的XCode项目中。我启动并运行了第一个SOAP请求——模拟器中一切正常——然后我开始在设备(运行iOS7.02的iPhone5S)上进行第一次测试。每次运行SOAP请求时,设备都会抛出EXC_BAD_ACCESS错误。我已经追踪到SoapRequest.m文件,特别是

ios - UIPopoverController dealloc 被调用—ARC 环境

第二次显示弹出Controller时(关闭它然后重新显示),出现以下错误:由于未捕获的异常“NSGenericException”而终止应用程序,原因:“-[UIPopoverControllerdealloc]在弹出窗口仍然可见时达到。”堆栈跟踪只是一堆十六进制,SIGABRT每次都在UIApplicationMain发生。这是按钮触发的代码:-(IBAction)createNewScore:(id)sender{if(self.pc)if(self.pc.popoverVisible)return;else//Breakpointishithere—crashesafterthi

ios - 为什么 ARC 提示 iOS 6 中的 dispatch_queue_create 和 dispatch_release?

我声明了一个引用GCD队列的属性:@property(assign)dispatch_queue_tbackgroundQueue;在类的init方法中我创建了一个串行队列:backgroundQueue=dispatch_queue_create("com.company.app",DISPATCH_QUEUE_SERIAL);ARC提示:“将保留的对象分配给unsafe_unretained变量;对象将在分配后释放”我必须使用__bridge_transfer吗?在-dealloc中我正在释放队列:dispatch_release(backgroundQueue);再次,ARC提示

ios - 我们需要在 ARC 的 UIAnimationBlocks 中使用 __weak self 吗?

我们是否需要在UIAnimationblock中使用__weakself,如下所示?如果我们不将self指定为weak,是否会产生保留周期问题?[UIViewanimateWithDuration:animationDurationdelay:0options:UIViewAnimationCurveEaseInOutanimations:^{[selfdoSomething];}completion:^(BOOLfinished){if(finished){[selfdoSomething];}}];我也对以下场景感到困惑。对此有什么想法吗?请分享您的意见。[self.navCont

iphone - JSONKit 是否支持 ARC,或者是否有支持 ARC 的 fork?

根据这些评论,JSONKit不支持ARC,甚至不能在ARC环境中使用fobjc-no-arc设置运行:https://github.com/johnezang/JSONKit/issues/37 最佳答案 您仍然可以在带有ARC的应用程序中使用JSONKit。我自己在用。在XCode5中选择您的项目根目录,在Targets下选择您的应用程序,然后选择BuildPhases选项卡。在CompileSources下,双击JSONKit.m并添加以下编译器标志-fno-objc-arc。希望对你有帮助干杯

objective-c - 在 iOS 5 ARC 中移除一个 NSNotificationCenter 观察者

我有一个基于iOS5ARC的项目,我很难确定我应该在哪里删除我在UIViewController中注册的NSNotificationCenter观察的观察者.SO上的类似帖子说这应该在-dealloc方法中完成。尽管在ARC项目中不需要此方法,但我已将其添加到以下代码中:-(void)dealloc{[[NSNotificationCenterdefaultCenter]removeObserver:self];}作为测试,我打开UIViewController(在UINavigationController中),执行一些触发通知的操作,然后通过点击返回将其从堆栈中弹出按钮。然后我重新

ios - 为什么 ARC 的 objc_autoreleaseReturnValue 的实现对于 x86_64 和 ARM 不同?

阅读MikeAsh的精彩博文后"FridayQ&A2014-05-09:WhenanAutoreleaseIsn't"在ARC上,我决定检查ARC为加速保留/释放过程而应用的优化细节。我所指的技巧称为“快速自动释放”,其中调用者和被调用者合作将返回的对象排除在自动释放池之外。这在以下情况下效果最好:-(id)myMethod{idobj=[MYClassnew];return[objautorelease];}-(void)mainMethod{obj=[[selfmyMethod]retain];//Dosomethingwithobj[objrelease];}可以通过完全跳过自动

iphone - ASIHTTPRequest/ASIFormDataRequest - 在 ARC 下的 block 中引用请求对象

非常类似于thisquestion,我正在尝试将使用ASIHTTPRequest&ASIFormDataRequest的项目转换为ARC。在我的ViewController类中,我经常在完成block中引用和使用request对象的属性(查看响应代码、响应数据等):__blockASIFormDataRequest*request=[ASIFormDataRequestrequestWithURL:[NSURLURLWithString:SOME_URL]];[requestsetCompletionBlock:^{if([requestresponseStatusCode]==200

ios - 在 ARC 下的 Objective-C 上,当归零弱引用变为 nil 时如何得到通知?

是否有一种机制可以让对象知道归零弱引用变为nil?比如我有一个属性@property(nonatomic,weak)MyClass*theObject;当对象解除分配并且属性变为零时,我想得到通知。但是怎么办?归零弱引用系统是否在对象消失时使用setter将属性设置为nil? 最佳答案 运行时只是将弱变量_theObect设置为nil,不会调用自定义setter。您可以做什么(如果您真的需要通知):定义一个本地“watcher”类并在该类中实现dealloc,创建一个观察者对象并将其设置为_theObject的“关联对象”。当_th