automatic-ref-counting相关内容

修复警告“在该块中强烈捕获[对象]可能导致保留周期”在启用ARC的代码中

在启用ARC的代码中,如何在使用基于块的API时修复关于潜在保留周期的警告? 警告: 在此块中强烈捕获“请求”可能导致此代码段生成的保留周期 代码: ASIHTTPRequest * request = [[ASIHTTPRequest alloc] initWithURL:... [请求setCompletionBlock:^ { NSDictionary * ..

什么是Objective-C“类继承”?

我无法完全明白我所看到的 Objective-C “类继承”。是/这些... 在 @implementation ( .m )文件? 类类别的另一个名称? (不太可能, ASFAIK 类别不能有Ivars,期间) 类别额外资讯的另一个名称? 这是一个ARC特有的“功能”吗? 是否有特定的运行时或其他使用要求? 这是创建 @property ,以及?为什么会比设置 @interf ..

苹果PrefPane示例无法构建与clang错误反对-fobjc-arc和-fobjc-gc

我正在尝试构建一个偏好窗格作为学习OS X开发的一部分。在下载Apple的首选项窗格示例代码,并试图构建项目我得到以下错误: clang:error:不能同时指定'-fobjc-arc '和'-fobjc-gc' 在构建设置中关闭垃圾收集可以正确构建项目,但是一旦在本地机器上安装了首选项窗格示例不会开始说, “您无法打开PrefsPane首选项,因为它不能在基于Intel的Mac ..

在特定代码行上禁用ARC

我把一个项目变成ARC,但有一些代码只能使用ARC禁用。我意识到 -fno-objc-arc 可用于在每个文件的基础上禁用ARC。但是我想知道是否可以在每个函数的基础上禁用ARC。 我知道警告可以在每行基础上切换,例如 #pragma clang诊断推送 #pragma clang诊断忽略“-Weverything” //代码在这里 #pragma clang诊断pop ..
发布时间:2016-11-22 21:57:32 移动开发

运行时编程动态方法时使用ARC编译错误

我想在Objective-C上做一些运行时编程。 为了做到这一点我覆盖了 resolveClassMethod 方法。 不幸的是我想出了一些编译错误,活动: 错误:选择器'dynamic'没有已知的类方法 如果我使用gcc或clang没有ARC( -fno-objc-arc 选项传递),一切正常,除了警告而不是错误。 我知道ARC需要知道调用的方法的名称,以了解如何使用返 ..

为什么ARC保留方法参数?

使用ARC编译时,方法参数通常显示为保留在方法开头,并在结束时释放。这个保留/释放对似乎是多余的,并且与ARC“生成你将会已经写的代码”的想法相矛盾。没有人在那些黑暗的,ARC之前的日子对所有的方法参数执行额外的保留/释放只是为了安全,他们吗? 考虑: @interface测试:NSObject @end @implementation测试 - (void)tes ..
发布时间:2016-11-22 21:14:37 移动开发

在ARC中归零弱参考

如果我阅读Mike Ash的“Zeroing Weak References”writeup 是正确的,弱引用就像 assign 没有ARC的引用。然而,如果被引用的对象被释放,而不是获得“悬挂指针”(意味着指向被释放对象的指针),则指针被设置为 nil 。 这是正确的,标记为 weak 或 assign (当ARC处于活动状态时) 如果这是正确的,这将消除很多SIGABRT。 p> ..
发布时间:2016-11-22 21:08:43 移动开发

ARC和桥梁铸件

使用ARC,我无法再将 CGColorRef 转换为 id 。我知道我需要做一个桥梁。根据 clang docs : 桥接投放是使用以下三个关键字之一注释的C风格的投射: (__bridge T)op 将操作数转换为目标类型 T 。如果 T 是可保留对象指针类型,则 op 必须有 保留指针类型。如果 T 是不可保留的指针类型,则 则op必须具有可保留的对象指针类型。否则铸造 是 ..

如何获取一个客观的c对象的地址到一个void * volatile *下ARC?

我有一个简单的目标c对象 NSManagedObjectContext * moc = nil 现在我需要将它传递给接受类型的参数的ARC环境中的函数。 void * volatile * value 我尝试了 (__bridge void *)moc)) 但我得到以下编译器错误 地址表达式必须是左值或函数指针 我也试过了 void ** a ..

识别圆弧上的事件

我是html5的新用户,并使用canvas来绘制我的应用程序之一的圆圈。我画了几个弧形成一个圆。它工作正常。但是我的问题是,我想为每个弧关联一个单独的鼠标事件。 我偷偷摸摸,发现KinteticJS可能很有用。我想知道是否有任何其他方法,可以用于连接鼠标事件为我使用画布创建的每个弧。请注意,我只使用一个画布没有ghost画布,我不想使用SVG。下面是我使用的代码的行: context ..

试图将iOS5之前的iOS版本的日历库集成到XCode 4中使用iOS5的新项目 - 如何端口?

我需要一个日历查看我的iOS 5项目。我在github上发现了这个库,这正是我需要的。然而,它是对iOS iOS5之前的版本的bult。 作为集成的初步步骤,我下载了zip文件并将项目转换为ARC兼容的iOS 5项目,使用XCode 4中的功能“refactor-> Convert to Objective-C ARC“。我bult那个项目,它建立良好的iOS5。 现在我遵循如何集成文 ..
发布时间:2016-11-09 15:35:06 移动开发

我是不是正确的创造和传递本C数组Objective-C的方法和属性引用它?

我创建一个C数组是这样的: unsigned char型colorComps [] = {2,3,22,55,9,1}; 我想传递给一个Objective-C对象的初始化。 所以,我认为我已经把阵列上的堆:为size_t arrayByteSize = numColorCompVals * sizeof的(无符号字符); 无符号字符* colorCompsHeap =(无符号字符*)mal ..