草庐IT

fno-objc-arc

全部标签

objective-c - 使用 ARC 按需销毁对象

使用ARC销毁对象的正确方法是什么?我想销毁一些UIViewController以及一个在运行时的特定时间持有AUGraph的对象。目前,当我的父viewcontroller创建viewcontroller对象并将它们的View分配给它的view时,这些对象显然与父对象保持事件状态。我想在不需要时销毁这些subviewController。 最佳答案 只需将引用这些对象的变量设置为nil。编译器会在那一刻释放对象,如果不存在对它们的其他强引用,它们将被销毁。 关于objective-c-

ios - 为 theos 构建系统启用 ARC

我目前正在使用theos构建系统为越狱的iPhone编写应用程序和调整。有没有办法让我使用theos为特定项目启用自动引用计数?我用谷歌搜索并试图破译theosmakefile,但我没能找到任何东西。 最佳答案 我不会拒绝上面的答案,因为我怀疑这可能只与不同版本的theos有关,上面的答案肯定让我走上了正确的轨道找到我需要的东西。事实证明,至少对于我的theos版本,要设置的环境变量是ADDITIONAL_OBJCFLAGS=-fobjc-arc(ADDITIONAL_CFLAGS也是一个选项,但我认为是否在直接C代码上启用ARC并

objective-c - ARC __bridge cast Block_copy 和 Block_release

出于某种原因,我希望在运行循环的下一次迭代期间执行一个block,所以我想出了:typedefvoid(^resizer_t)();-(void)applyResizer:(resizer_t)resizer{resizer();Block_release(resizer);}-(void)usage{...resizer_tresizer=^(){//stuff};[selfperformSelectorOnMainThread:@selector(applyResizer:)withObject:(__bridgeid)Block_copy((__bridgevoid*)resiz

ios - 隐式转换 'BOOL' (又名 'signed char' ) 到 'id' ,objc_setAssociatedObject

我正在使用关联引用作为我类别属性的存储头文件包含:@interfaceUIImageView(Spinning)@property(nonatomic,assign)BOOLanimating;@end实现是-(void)setAnimating:(BOOL)value{objc_setAssociatedObject(self,animatingKey,value,OBJC_ASSOCIATION_RETAIN_NONATOMIC);}但是,我收到上面一行的警告Implicitconversionof'BOOL'(aka'signedchar')to'id'isdisallowedw

objective-c - #include 或#import <objc/runtime.h>?

对于iPhone应用程序,我应该#include还是#import,为什么?我已经看到它以两种方式完成,例如#import&#include. 最佳答案 如果头文件有传统的includeguards,使用哪种并不重要,它更像是一种风格选择。如果您使用#import而不是#include可能会有微小性能提升,但我怀疑它是否会被注意到,因为大多数编译器都使用这些days足够聪明,可以识别包括守卫并相应地进行优化。另一方面,如果头文件没有包含守卫,那么您应该始终使用#import,因为#import将确保头文件只会被包含一次——如果你不小

ios - 其他链接器标志设置为 -ObjC

这个问题在这里已经有了答案:WhatcausesiOSlinkingerrors?(1个回答)关闭9年前。我在我的build设置中包含了其他链接器标志设置为-ObjC,因为我想使用需要这个的框架(https://github.com/rs/SDWebImage)但是在添加这个标志后我得到链接器错误:Undefinedsymbolsforarchitecturearmv7:“_OBJC_CLASS_$_SKProductsRequest”,引用自:objc-class-refinParse(PFPurchase.o)“_OBJC_CLASS_$_SKPayment”,引用自:objc-c

ios - 架构 i386 : "_OBJC_CLASS_$_ZipException", 的 undefined symbol 引用自:错误

我在我的项目中使用了一些“.o”文件,并且在编译时显示以下错误,error:linkercommandfailedwithexitcode1(use-vtoseeinvocation)我已经在下面发布了错误日志Ld/Users/deepak/Library/Developer/Xcode/DerivedData/app-bnwpvhpbrfdurbdgxucyddqyfosh/Build/Products/Debug-iphonesimulator/app.app/appnormali386cd/Users/deepak/Workspace/iosDevelopement/PROJEC

objective-c - 将 ARC 用于新项目是否为时过早?

我即将开始一个新项目,我想知道我是否应该使用ARC。我不知道是否建议使用ARC,因为我知道新项目将对旧代码和尚未转换为ARC的外部库(three20、shareKit、ASIHTTPRequest、..)?一些库非常大,所以我认为为每个单独的文件添加-fno-objc-arc标志会很乏味。Apple似乎已经为IOS走上了ARC之路,每个IOS开发者迟早都必须转变。但现在加入ARC潮流是否还为时过早? 最佳答案 编译后的库可以开箱即用地使用ARC。ARC所做的只是自动添加内存管理。它将添加保留、释放等。如果代码已经编译,它将包含必要的

ios FirebaseCoreDiagnostics 5.4.1 架构 x86_64 的 undefined symbol : "_OBJC_CLASS_$_GULAppEnvironmentUtil"

我尝试将firebase从4.2.0版升级到5.4.1版。我在构建IOS时遇到此错误:Undefinedsymbolsforarchitecturex86_64:"_OBJC_CLASS_$_GULAppEnvironmentUtil",referencedfrom:objc-class-refinFirebaseCoreDiagnostics(FIRDiagnostics_b8d2083bbf595e32a15f4c92bf56379b.o)"_OBJC_CLASS_$_GULNetwork",referencedfrom:objc-class-refinFirebaseCoreDi

objective-c - 使用 XCode 将非 ARC 项目转换为 Objective-C ARC 时,Clang 失败,退出代码为 254

我正在尝试使用XCodeARC转换器将非ARC项目(https://github.com/allaboutapps/A3GridTableView)转换为ARC。我收到以下错误命令/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang失败,退出代码为254。我遵循了http://maniacdev.com/2012/01/easily-get-non-arc-enabled-open-source-libraries-working-in-arc-enabl