草庐IT

fno-objc-arc

全部标签

ios - Objective-C 和 ARC?用还是不用?

这个问题在这里已经有了答案:StartingwithObjective-C:ToARCornottoARC?(5个答案)关闭9年前。在阅读其中一本iOS5书籍时,我遇到了这样的信息:"WhileARCmakesiteasierforyoutowriteapplicationswithoutworryingaboutobjectmanagement,lotofthird-partylibrariesstillneedtomanuallyreleaseobjects.Forthisbook,alltheprojectsarecreatedwithARCturnedoff(...)".我是i

ios - 是否需要在GCD中的ARC下创建一个autorelease pool?

我有一个CAEAGLLayer的运行循环方法,它使用GCD来序列化对共享ivar的访问。我目前的绘图代码是这样构造的:-(void)draw{dispatch_sync(serialDrawingQueue,^{@autoreleasepool{[selfdrawingStart];[spriteAdraw];[spriteBdraw];[selfdrawingEnd];}});}draw方法由CADisplayLink调用。当我使用GCDblock时,@autoreleasepool是否必需? 最佳答案 来自Appledocs:I

ios - App Store 允许自动引用计数 (ARC) 应用程序吗?

这个问题不太可能帮助任何future的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visitthehelpcenter.关闭11年前。由于ARC将在4.0中运行,我们现在是否可以使用LLVM3编译我们的应用程序并将它们放入AppStore?还是要等到Xcode4.2发布?

ios - XCode 4.5 中 ARC 的 Phantom 内存泄漏,其中肯定调用了 dealloc 或 Instruments 问题?

序言;这不是一般性的“我有一个存在泄漏的巨型应用程序”问题。这是一个关于自动引用计数在几乎微不足道的演示应用程序中无法正常工作的特定问题,具有完整的源代码,或者微妙的代码生成或编译器问题,或者Instruments中的错误。(TLDR:哦。实际上是一个奇怪的小竞争条件)我对Instruments的“分配”列表显示实例泄漏这一事实感到困惑,然而,我有该类的一个实例,只有一个,ARC导致调用dealloc方法,我知道它是被调用是因为在dealloc完成时打印了一条NSLog消息,但它仍然显示在Instruments的泄漏列表中。retainCount永远不会超过1。它没有被任何人保留,并且

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 - 如何使用 ARC 释放 NSMutableArray 中的对象?

我的原始项目正在泄漏,所以我搜索了泄漏点。当我找到它时,我创建了一个简单的新项目。该项目使用ARC,我添加的唯一代码如下。-(void)applicationDidFinishLaunching:(NSNotification*)aNotification{intelements=10000000;//memoryusage5,2MBNSMutableArray*array=[NSMutableArrayarrayWithCapacity:elements];//memoryusage81,7MBfor(inti=0;i调用[arrayremoveAllObjects]后,数组中的所有

ios - 如何从苹果源码编译使用objc runtime?

众所周知,objc的runtime是开源的,可以从以下地址下载:http://www.opensource.apple.com/tarballs/objc4/下载tarball后解压。我使用xcode打开objc.xcodeproj。但是,我构建的时候,有很多错误,比如,找不到一些headers。我用谷歌搜索了所有丢失的header,下载它们,将它们放在/tmp/objc.dst/usr/include中。但如果运气不好,仍然会出错。我在网上搜索过,但找不到关于以下方面的文档或说明:如何从源码编译apple的objcruntime?编译后,我应该得到libobjc.A.dylib,如何

ios - 体系结构 x86_64 : "_OBJC_CLASS_$_WKWebView", 的 undefined symbol 引用自:

体系结构x86_64的undefinedsymbol:“_OBJC_CLASS_$_WKWebView”,引用自:ld:找不到体系结构x86_64的符号clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)感谢任何帮助! 最佳答案 仅供引用:转到您的项目->常规->链接框架和库,然后添加WebKit.framework您在这里看到的是使用了WebKit框架,但实际的二进制文件没有链接。 关于ios-体系结构x86_64:"_OBJC_CLASS_$_WKWebView",的u

objective-c - 如何避免 xcode 4.5 w/o ARC 出现僵尸错误?

当我在启用僵尸的xcode4.5.1(LLDB)调试器中运行不使用ARC的应用程序时,在调用-[superdealloc](-[NSObjectdealloc]):*-[V2APIClient类]:发送到已释放实例0x9d865c0的消息*-[V2APIClient类]:发送到释放实例0x9d865c0的消息当我在xcode4.4.1(LLDB)调试器中运行相同的应用程序时,我收到一次错误消息(1)。当我在XCode4.3.2中运行同一应用程序的稍早版本时,我根本没有收到错误消息(0)。我将使用相同/最新的代码重试。仅供引用-这似乎与另一篇尚未得到解答的帖子完全相同的问题:-[Fooc

ios - ARC环境下类型转换导致编译错误

我在ARC环境中遇到类型转换问题。如果有人愿意解决这个问题:当我使用这行代码时:NSData*resultData=nil;NSMutableDictionary*passwordQuery=[querymutableCopy];[passwordQuerysetObject:(id)kCFBooleanTrueforKey:(__bridgeid)kSecReturnData];status=SecItemCopyMatching((__bridgeCFDictionaryRef)passwordQuery,(CFTypeRef*)&resultData);然后我收到一个错误:ARC