automatic-ref-counting相关内容
一个简单的问题. 如果我有一个属性和一个用相同名称声明的 ivar: 在 .h 文件中: (Reminder*)reminder;@property(nonatomic,strong)(提醒*)提醒; 在 .m 文件中,如果我使用 ARC,我应该使用 ivar 还是 init 方法中的属性? - (id)initWithReminder:(Reminder*)reminder_
..
我还没有使用 ARC,因为我目前正在处理的项目中的大部分代码都是在 iOS 5.0 之前编写的. 我只是想知道,不手动保留/释放的便利(以及由此产生的更可靠的代码?)是否超过使用 ARC 的任何“成本"?您对 ARC 有哪些体验,您会推荐它吗? 所以: ARC 能为项目带来多少好处? ARC 是否像 Java 中的垃圾回收一样有成本? 您是否使用过 ARC,如果使用过,到目前
..
使用 ARC,我不能再将 CGColorRef 转换为 id.我了解到我需要进行桥接演员表.根据 clang 文档: 桥接演员表是使用以下三个关键字之一注释的 C 风格演员表: (__bridge T) op 将操作数转换为目标类型 T.如果 T是一个可保留的对象指针类型,那么 op 必须有一个不可保留的指针类型.如果 T 是不可保留的指针类型,那么 op 必须有一个可保留的对象指针类
..
我有一个滚动视图,可以在滚动页面时显示不同的图像,例如 PhotoScroller.我正在使用ARC.当有人滚动到另一个页面时,我将当前未显示的 UIImageView 的图像属性设置为 nil,因为(试图)避免内存崩溃,这种情况仍在发生.然后当用户滚动到一个新页面时,该页面的图像被设置为 UIImageView 的图像属性,以及它之前和之后的页面(为了流畅查看).页面的 UIImage 都保存在
..
应用程序在我尝试登录后立即崩溃,所以这不是看门狗内存问题 原因:_mh_execute_header尝试使用 ASIHTTPRequest 发出网络请求时应用程序崩溃.请求永远不会触及服务器.ASIHTTPRequest:我使用 -fno-objc-arc 从 ARC 中省略 ASIHTTPRequest. 我相信以下调用导致了我的问题,因为当我发出请求时,我的调用甚至从未触及服务器.
..
我有一个 Objective-C 程序,我正在使用 ARC(自动引用计数),它在第 23 行引发了分段错误(参见下面的程序). 问题1)为什么会出现分段错误? 下面是程序: #import@界面汽车:NSObject@property (weak) NSNumber* 门;@结尾@实施汽车@合成门;@结尾主函数(){系统(“清除");
..
当我从 History Core Data 对象记录/请求值时,以下代码返回以下错误: -[CFNumber release]: 消息发送到deallocated instance 0x17ea2a90 我最初认为其他地方存在问题,并且花了无数小时试图调试它,但没有成功.经过进一步测试,我已经确定崩溃是从 History Core Data 对象请求某些值.任何人都可以看到为什么对象值被释放的
..
我正在将我的部分项目迁移到 iOS 5/ARC.最古老的项目之一(iOS 4.2,用于支持 iPod Touch 2g 的 armv6)正在给我: dyld`dyld_fatal_error:0x8feb1070:int30x8feb1071:无 就在启动图像之后,但在进入主之前.必须将一些库/代码更新到 iOS 5,但是哪一个?有可能使用比猜测更好的方法吗?? 解决方案 自己尝试重现
..
我已经在 SO 和其他网站上准备了许多(如果不是全部)关于处理 SpriteKit 和内存问题的灾难的文章.我的问题和其他许多人一样,是在我离开 SpriteKit 场景后,几乎没有释放场景会话期间添加的任何内存.我已经尝试在我找到的文章中实施所有建议的解决方案,包括但不限于... 1) 确认在 SKScene 类中调用了 deinit 方法. 2) 确认场景类中没有strong对父V
..
我正在使用自动引用计数.我有一个自定义的 UIViewController 子类,每当我调用 -presentViewController:animated:completion: 或从超级视图中删除它的视图时,我都希望 NSLog像“我被释放"这样的东西,所以我知道视图控制器已成功删除.我已经在我的视图控制器中实现了 -dealloc 方法.但是,我开始了一个测试项目,其中我只有两个 UIVie
..
在 UIViewController 文档关于 searchDisplayController 属性 1 它说: 如果您以编程方式创建搜索显示控制器,则该属性会在初始化时由搜索显示控制器自动设置. 当我这样创建 UISearchDisplayController 时: [[[UISearchDisplayController alloc] initWithSearchBar:sear
..
以下是我以前编写自定义保留 setter 的方法: - (void)setMyObject:(MyObject *)anObject{[_myObject 发布], _myObject = nil;_myObject = [anObject 保留];//其他的东西} 当属性设置为 strong 时,我如何使用 ARC 实现这一点.如何确保变量具有强指针? 解决方案 strong 在 i
..
我目前正在使用 iOS 5 SDK 尝试开发我的应用程序.我正在尝试使 NSString 成为一个属性,然后在 .m 文件中合成它(我之前已经这样做了,没有任何问题).现在,我遇到了这个:“语义问题:属性的合成 getter 遵循 Cocoa 命名约定来返回‘拥有的’对象." 这是我的代码:.h @interface ViewController : UIViewController {N
..
使用 Xcode 4.2 和 ARC,我注意到 NSManagedObject 的自动生成代码对于属性仍然是这样的: @property (nonatomic, retain) NSString * someString; 1) 现在不应该将 retain 替换为 strong 或 weak 吗? 2) 为什么自动生成的代码仍然使用retain 3) 在这个属性声明中 retain
..
我正在使用 AddThis 在我的 iOS 应用中添加共享选项. 我已经导入了这些类并将 -fno-objc-arc 标志添加到所有导入的类中,因为它们不使用 ARC. 但是,当我尝试运行该应用程序时,我遇到了一系列解析问题,例如: 预期的标识符或'('未知类型名称“NSString"未知类型名称“协议"... 这些错误发生在 NSObjCRuntime、NSZone 和 NSOb
..
将 Objective-C 程序转换为 Objective-C ARC 时,出现错误: “将 Objective-C 指针类型‘NSString *’转换为 C 指针类型‘CFStringRef’(又名‘const struct __CFString *’)需要桥接转换" 代码如下: - (NSString *)_encodeString:(NSString *)string{NSStrin
..
在我的应用程序中,我启用了 ARC.但是在我的应用程序中,以下几行根据仪器给了我内存泄漏.它在 ios 7.0 中. -(id)init{变量 = [[NSMutableArray 分配] init];//泄漏事件 = [[NSMutableArray 分配] init];//泄漏回归自我;} 更新 但是在我的应用程序中,如果我执行以下操作,则不会显示任何泄漏.但我无法将项目添加到变量中
..
我有一个非常简单的带有 ARC 的测试应用程序.其中一个视图控制器包含 UITableView.在制作行动画(insertRowsAtIndexPaths 或 deleteRowsAtIndexPaths)之后,UITableView(和所有单元格)永远不会被释放.如果我使用 reloadData,它工作正常.在 iOS 6 上没有问题,只有 iOS 7.0.任何想法如何解决此内存泄漏? -(v
..
我尝试在我的项目中导入解析框架.我确保我的项目喜欢它,但我找不到任何关于它是否“电弧敏感"的信息.我的项目是基于弧的. 这是我得到的错误: 架构 i386 的未定义符号:“_SCNetworkReachabilityCreateWithName",引用自:-[PFCommandCache init] 在解析(PFCommandCache.o)+[PFInternalUtils(Reacha
..
在使用惰性初始化器时,是否有可能存在保留周期? 在博客文章和许多其他地方[无主的自己]被看见 class Person {变量名:字符串懒惰 var 个性化Greeting:字符串 = {[无主的自己]在return "你好,\(self.name)!"}()初始化(名称:字符串){self.name = 姓名}} 我试过了 class Person {变量名:字符串懒惰 var 个性
..