草庐IT

fno-objc-arc

全部标签

objective-c - UISplitViewController EXC_BAD_ACCESS 使用 ARC 旋转

我在ARC上使用UISplitViewController但它似乎在几次旋转事件后崩溃了:ExceptionType:EXC_BAD_ACCESS(SIGSEGV)ExceptionCodes:KERN_INVALID_ADDRESSat0x80069f69CrashedThread:0Thread0name:Dispatchqueue:com.apple.main-threadThread0Crashed:0libobjc.A.dylib0x32461f78objc_msgSend+161UIKit0x3588b280-[UISplitViewController_calculate

ios - 为什么我的 IBOutlet 在 ARC 下发布?

问题一个IBOutlet在我有机会使用它之前就被释放了。我想要什么我想从我的应用委托(delegate)访问导航Controller,以便重新加载表格View。我的设置我有:在目标设置中设置为我的主界面的Main.xib导航Controller的IBOutlet作为我的应用委托(delegate)上的ivar这个IBOutlet连接到Main.xib中正确的导航ControllerAppDelegate在xib中实例化但未设置为文件所有者我正在使用ARC、Xcode4.3.2和iOS5.1我尝试过的改变部署目标在导航Controller、应用委托(delegate)的dealloc上设

ios - objc_setAssociatedObject 和 objc_getAssociatedObject 有什么问题吗?

我正在研究向所有UIView实例添加属性(在本例中为整数)的方法,无论它们是否是子类。在类别中使用objc_setAssociatedObject()和objc_getAssociatedObject()是否是Apple认可的适当方式?我听说有人担心这会构成“运行时黑客”,并可能导致难以追踪和调试的问题。还有其他人见过这种类型的问题吗?有没有更好的方法可以在不进行子类化的情况下向所有UIView实例添加整数属性?更新:我不能只使用tag,因为这需要在已经使用tag的代码库中用于其他事物。相信我,如果我可以为此使用tag,我会的! 最佳答案

objective-c - ObjC block 和 openssl C 回调

有一个简单的一次性任务需要一个进度条。OpenSSL有一个有用的可以为此使用的回调:rsa=RSA_generate_key(bits,RSA_F4,progressCallback,NULL);与staticvoidcallback(intp,intn,void*arg){..stuff但是我想毫不费力地从ObjectiveC中调用它:MBProgressHUD*hud=[MBProgressHUDshowHUDAddedTo:self.viewanimated:YES];hud.mode=MBProgressHUDModeAnnularDeterminate;hud.labelTe

ios - 在 ARC 中强 vs 保留

我知道有很多关于“强”与“弱”的文章。但是所有文档都说两者是100%的同义词,您可以使用“strong”代替“retain”,反之亦然。我的问题是:如果它们相同,为什么Apple引入新的“strong”关键字?我已经在示例项目中对两者进行了测试,“strong”和“retain”属性似乎都在做同样的事情。你不认为如果Apple引入了'strong'属性,它就应该禁止使用'retain'属性吗?还是我遗漏了什么? 最佳答案 retain是ARC之前时代的遗留物,您可以根据您是否希望它在内存中停留来增加/减少对象retaincount。

ios - KCOrderedAccessorFix objc_msgSend too many arguments to function call, expected 0, 有 2

在Xcode6中,KCOrderedAccessorFix在以下行中产生错误:NSMutableOrderedSet*primitive=objc_msgSend(_s,fastPrimitiveGetter)我该如何解决?谢谢, 最佳答案 更改每个objc_msgSend方法调用NSMutableOrderedSet*primitive=objc_msgSend(_s,fastPrimitiveGetter);到NSMutableOrderedSet*primitive=((id(*)(id,SEL))objc_msgSend)(

objective-c - 过渡到 ARC 的工具

我想将我的应用程序转换为ARC。我可以将Objective-CAutomaticReferenceCounting更改为YES但这不会自动删除releaseretain等.TransitioningtoARCReleaseNotes状态:XcodehasanewtoolthatautomatesthemechanicalpartsoftheARCconversion(suchasremovingretainandreleasecalls)andhelpsyoutofixissuesthemigratorcan’thandleautomatically.Themigrationtoolc

iphone - 迁移到命名标准不佳的 Arc

我正在处理一个代码库,其中命名标准通常被忽略。因此,即使方法名称不符合NARC,某些类中的一些方法也会返回引用计数为1的对象。很棒的东西。我想将项目转换为使用自动引用计数,但由于完全忽略了NARC命名标准,我有点紧张。有谁知道ARC是否依赖于NARC命名标准才能正常工作?谢谢,肖恩 最佳答案 ARC确实依赖于命名约定才能正常工作。然而……如果您只使用ObjC对象,那么只要您仅有ARC代码,它通常就会“成功”。例如,如果您有如下方法:-(id)something{return[[Somethingalloc]init];}这是错误的(

ios - 无法关闭 JSONkit 的 ARC

使用JSONkit对于启用ARC且有问题的项目。我将文件适本地标记为-fno-objc-arc并尝试构建,但它仍然抛出错误,例如启用了ARC。有什么想法我可能会遗漏吗?为了清楚起见,我在BuildPhases->CompileSources->JSONkit.m中标记了该文件编辑:错误的屏幕截图。这些是我在为要被ARC忽略的文件添加标志之前遇到的相同错误 最佳答案 正如您提到的,您已经按照这些步骤进行操作,请同时为JSONkit.m文件设置编译器标志-fno-objc-arc还有如果它不起作用则尝试:-1.可以删除~/Library

iphone - ARC 中的 '[[something retain] autorelease]' 是什么?

ARC中[[somethingretain]autorelease]的等价物是什么?我遇到一个问题,类DBRequest调用我的委托(delegate)来表示完成。然后,我的代表将DBRequest实例设置为nil,这是dealloc。但是当堆栈从我的委托(delegate)中弹出并跳回DBRequest时,它当然会崩溃。如果我不在ARC中,在我的委托(delegate)中我会简单地执行[[theDbRequestretain]autorelease]然后释放我对它的引用,这样它就可以存活足够长的时间直到下一个运行循环自动释放它。我应该在ARC中做什么? 最