草庐IT

fno-objc-arc

全部标签

objective-c - 在 Xcode 4 中将非 ARC 文件子类化为 ARC 项目

我在我的ARC项目中使用了一些非ARC代码,即Three20。我已经添加了所有适当的编译器标志并且一切正常。但是,我需要对Three20类中的某些类进行子类化,我不确定是否应该将编译器标志添加到我的非ARC新文件中,或者编译器是否会弄清楚并添加适当的发布调用。简单回顾一下:-XCode4中的ARC项目-包括非ARC代码(Three20)-需要对非ARC文件中定义的内容进行子类化-我需要添加发布调用吗?-我是否需要在子类中为非ARC添加编译器标志? 最佳答案 迈克尔,ARC是一种编译时技术,它根据内存中的给定槽是否会在当前方法/函数调

iphone - 写入文件而不覆盖 ObjC

我想将文本写入文件,但在搜索解决方案时,我发现到处都是“读取-附加-写入”,但文件对于iOS设备的内存来说太大了,它会卡住,然后重新启动.还有其他解决方案吗? 最佳答案 您可以使用NSFileHandle类,以便不必将整个文件读入内存(顺便说一下,这对任何文件来说都是不好的做法!):NSFileHandle*fh=[NSFileHandlefileHandleForWritingAtPath:@"/path/to/file.ext"];[fhseekToEndOfFile];NSData*data=//obtainanNSDatas

iphone - 这种情况下self会被ARC保留吗?

我在方法中有以下代码:UIImageView*imageBlk=self.image;self.finishBlock=^{imageBlk.hidden=YES;}在ARC下,self是否会被block保留,因为image是self的属性?谁拥有imageBlk?自己? 最佳答案 self会被block保留吗?不会。imageBlk变量不是实例变量,因此block不需要保留self。无需担心您发布的代码中存在保留周期。谁拥有imageBlk?imageBlk是一个堆栈变量。该block将保留变量。ARC负责这种保留,并在适当的时候

ios - 使用 Parse 时出错 - "_OBJC_CLASS_$_ParseClientConfiguration",引用自 :

在我的项目中添加Parse后出现两个错误:Undefinedsymbolsforarchitecturex86_64:"_OBJC_CLASS_$_ParseClientConfiguration",referencedfrom:objc-class-refinAppDelegate.old:symbol(s)notfoundforarchitecturex86_64clang:error:linkercommandfailedwithexitcode1(use-vtoseeinvocation)我遵循的步骤如下:已从以下位置下载ParseiOSSDKhttps://github.co

ios - 在 iOS 的 C 函数中使用 ARC 取消引用指针

我正在使用TheAmazingAudioEngine来处理iOS应用同步中的播放。该框架要求您使用C函数作为在音频线程上调用的回调(playbackTimingReceiver)。然后,您需要使用向其传递处理程序(pageTurnHandler)的C函数(AEAudioControllerSendAsynchronousMessageToMainThread)再次向主线程发送消息。我在使用C语言方面经验不足,但据我了解,我在消息中传递了一个需要取消引用的指针。我可以通过这条线成功实现:PlaybackManager*receiver=*((PlaybackManager**)userI

iOS - 从 NSUserDefaults :Attempted to dereference an invalid ObjC Object or send it an unrecognized selector 获取 NSDictionary

我尝试从已保存的NSUserDefaults中检索NSMutableArray。我存储NSMutableArray:NSUserDefaults*defaults=[NSUserDefaultsstandardUserDefaults];NSMutableArray*mySavedTremps=[[defaultsobjectForKey:UD_MY_TREMPS]mutableCopy];if(!mySavedTremps)mySavedTremps=[[NSMutableArrayalloc]init];NSMutableDictionary*trempDict=NSMutable

ios - 如何制作特定的类文件 ARC - iphone

我正在尝试将XMPP框架中的附加ampp类文件XMPPPubSub类集成到我的应用程序中。它说我们必须为这些文件启用ARC。我在BuildPhases->CompileSources中为文件添加了-fobjc-arc标志。该类中有这段代码#if!__has_feature(objc_arc)#warningThisfilemustbecompiledwithARC.Use-fobjc-arcflag(orconvertprojecttoARC).#endif即使这样我还是会报错cc1obj:error:unrecognizedcommandlineoption"-fobjc-arc"我

ios - 如何强制在 ARC 应用程序下调用 didReceiveMemoryWarning

我听说didReceiveMemoryWarning最有可能在您持续泄漏分配时被调用。然而,在ARC下,我一直认为分配的局部变量在我们传递它们实例化的block后被释放。这些泄漏是否必须全部是属性?如果在我的应用程序中调用了didReceiveMemoryWarning,我正在尝试创建正确的恢复,但到目前为止我还看不到它。我正在寻求帮助以了解何时调用它,以及这些泄漏是否必须是属性与局部变量(在ARC下)? 最佳答案 只需使用模拟器硬件菜单中的“模拟内存警告”命令即可。如果你想通过代码来做到这一点,你可以使用下面的代码(注意这是私有(

ios - 使用 ARC 的线程安全设计

首先让我引用AppleThreadingProgrammingGuide中的一章:BeAwareofThreatstoCodeCorrectnessWhenusinglocksandmemorybarriers,youshouldalwaysgivecarefulthoughttotheirplacementinyourcode.Evenlocksthatseemwellplacedcanactuallylullyouintoafalsesenseofsecurity.Thefollowingseriesofexamplesattempttoillustratethisproblemb

ios - 什么是 objc_selector 实现?

这个问题在这里已经有了答案:HowdoSELand@selectorwork?[duplicate](2个答案)关闭7年前。我发现SEL类型有下一个定义:typedefstructobjc_selector*SEL;但是我找不到objc_selector是如何实现的。好的,如果我们有下一段代码#importintmain(intargc,constchar*argv[]){SELmySelector=NSSelectorFromString(@"mySelector");return0;},那么mySelector只是一个指针。在它包含的地址之后,我们看到了C字符串,它可以呈现如下:c