automatic-ref-counting相关内容
我有一个从 URL 检索 JSON 并通过协议/委托模式返回数据的类. MRDelegateClass.h #import @protocol MRDelegateClassProtocol@选修的- (void)dataRetrieved:(NSDictionary *)json;- (void)dataFailed:(NSError *)error;@结尾@interface MRDe
..
我向您保证,我确实在 SO 中为我的问题寻找了答案,但没有一个有帮助.在这里,我得到了一个简单的代码,它应该在 UIPopoverController 中显示一个 UIImagePickerController: -(void)takePicture:(id)sender{UIImagePickerController *picker=[[UIImagePickerController allo
..
注意:这个问题具有误导性..我认为它使用了多个导致内存错误的参数..但这不是原因..原因是格式不正确的sql语句..见答案如下. 如果创建一个多次使用相同参数的sqlite语句,即 NSString* updateStmt = @"INSERT INTO search_email(..., subject, ...)"" SELECT ..., :subject, ...,""合并((选
..
假设我已经使用 创建了一个弱自我 __weak typeof(self) weakSelf = self;[自己做ABlockOperation:^{...}]; 在那个块内,如果我嵌套另一个块: [weakSelf doAnotherBlockOperation:^{[弱自我做某事];} 它会创建一个保留周期吗?我是否需要创建另一个对weakSelf 的弱引用? __weak typ
..
我正在尝试完成拼图. __strong 是所有 Objective-C 可保留对象指针(如 NSObject、NSString 等)的默认值.这是一个强引用.ARC 使用范围末尾的 -release 来平衡它. __unsafe_unretained 等于旧方式.用于不保留可保留对象的弱指针. __weak 与 __unsafe_unretained 类似,不同之处在于它是一个自
..
我对这段代码有疑问: __strong NSString *yourString = @"Your String";__weak NSString *myString = yourString;yourString = nil;__unsafe_unretained NSString *theirString = myString;NSLog(@"%p %@", yourString, your
..
作为初学者的 iPhone 程序员,编写适用于 iOS 5 或更旧版本的应用程序的最佳实践是什么?具体来说,我应该继续使用数据的释放/保留,还是应该忽略它?重要吗? 解决方案 这取决于您.您可以使用 ARC(自动引用计数)编写应用程序,Xcode 将编写“粘合代码"以允许您启用 ARC 的应用程序在 iOS 4 上运行,无需修改.但是,某些事情将不起作用,最明显的是,您可能希望使用的许多库
..
我是 iOS5 开发和使用 Objective-c 的新手.我无法理解强和弱存储之间的区别.我已经阅读了文档和其他 SO 问题,但它们对我来说听起来都一样,没有进一步的洞察力. 我阅读了文档:过渡到 ARC - 它引用了 iOS4 的保留、分配和释放条款;这让我很困惑.然后我研究了 Open U CS193p,它区分强弱: 强:“将其保留在堆中,直到我不再指向它为止" 弱:“只要有人
..
尽管标记了文件 -fno-objc-arc? ARC 仍然禁止结构体或联合体中的 Objective-C 对象?为什么会这样? 我假设如果你标记它 -fno-objc-arc 你就没有这个限制. 解决方案 如果您收到此消息,请尝试 __unsafe_unretained.只有在结构中的对象未被保留时,它才是安全的.示例:如果您将 OpenFeint 与 ARC 一起使用,则 OFBr
..
我有一个从 SOAP Web 服务获取信息的应用程序,我想在 UITableView 中显示结果. 我有这个应用程序的以前版本,我正在创建一个新版本来基本上清理内容并摆脱一堆已弃用且不再使用的遗留代码. 在以前的版本中,这运行良好.在新版本中,没有那么多. 基本上,当前场景返回 3 个字符串,我试图将其用作 UITableView 中数据的基础. 我正在努力解决这个问题,因
..
我正在编写一个使用 ARC 的应用程序,目前似乎存在一些内存泄漏.谷歌搜索我发现了一些关于如何使用 Inspector 的提示.在那里,我可以看到一些类实例的大量分配,我还可以看到一些关于对象如何分配以及保留计数如何改变的调用堆栈. 但是好像看不到完整的调用栈所以不知道到底谁拥有这个对象.在我看来,这个所有者以某种方式没有释放对象(或拥有可疑对象的对象). 谁能给我一个关于寻找已分配对
..
如何在 xcode 中避免此警告.这是代码片段: [player(AVPlayer object) addPeriodicTimeObserverForInterval:CMTimeMakeWithSeconds(0.1, 100)队列:nil usingBlock:^(CMTime时间){当前+=1;如果(当前==60){最小+=(当前/60);当前 = 0;}[timerDisp(UILab
..
我正在使用 Apple 指南中的这个非常简单的代码: NSMutableData *receivedData;//创建请求.NSURLRequest *theRequest=[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.apple.com/"]cachePolicy:NSURLRequestUseProtocolCa
..
我确实多次使用块和我有强引用的指针 我听说您应该使用复制,但是将块用作指针而不是原始对象有什么含义? 编译器从来没有抱怨过我不应该使用 @property (nonatomic, strong) MyBlock 块; 但应该使用 @property (nonatomic, copy) MyBlock 块; 据我所知,块只是一个对象,所以为什么要更喜欢复制? 解决方案 简
..
我第一次使用 Xcode 时,我关注的是 教程在线.我按照 教程给我看了,但我怕它太过时了. 我遇到的错误是: [font_attributes 发布]; 'release' 不可用:在自动引用计数模式下不可用 ARC 禁止'release'的显式消息发送 我对 Cocoa 和 Xcode 的了解有限,但我仍然希望扩展我的学习. 我该如何解决 ARC 问题? 解决
..
使用 alloc 或 autorelease 初始值设定项是否更好(更快、更有效).例如: - (NSString *)hello:(NSString *)name {return [[NSString alloc] initWithFormat:@"Hello, %@", name];} 或 - (NSString *)hello:(NSString *)name {return [NSS
..
如果未启用 ARC,大多数安全和渗透工具都会报告. 未找到 fobjc-arc 标志 据我所知,我们无法在 xamarin 中执行此操作,因为我们这里没有构建设置. 此标志只能在构建设置中设置. 即使我们可以,它也不会工作,因为 xamarin 使用 C# 和 MRC 自行管理内存. 谁能解释一下如何做或不做,或者我的理解是错误的 编辑: 我们可以通过构建设置将A
..
当我创建我的项目时,我让它支持 ARC,所以我的项目将支持 iOS 4.3 及更高版本. 现在我需要将 Twitter 和 Facebook 集成到它.两家公司提供的 Facebook 和 Twitter 框架都不支持 ARC. 大部分文件都有dealloc,并且释放了它的变量.有人说要废弃该项目并重做它以禁用 ARC.但是,我负担不起这样做,因为我已经完成了大部分工作. 我添加
..
只是想确保我做对了: 我是否需要__unsafe_unretain 我不拥有的对象? 如果对象是__unsafe_unretained 我是否需要在@property 中使用assign?那是不是表示对象没有被保留,只引用我分配给的对象? 除了代表之外,我什么时候需要使用它? 这是 ARC 的东西还是以前使用过? 解决方案 LLVM Compiler 3.0 引入了四个新的所有
..
我是 Xcode 4.2 的新手,我还没有完全了解 ARC.然而,我确实读到 @autoreleasepool 取代了自动释放池的手动使用,并在幕后做了一些特殊的魔法来与 ARC 配合使用. 然而,当我在 Xcode 4.2 中开始一个新项目时,特别是在关闭 ARC 选项的情况下关闭,我仍然在模板代码中得到 @autoreleasepool 语句. 这里有什么交易? 解决方案
..