草庐IT

retained

全部标签

ios - NSAttributedString 初始化数据 :options:documentAttributes:error: documentAttributes not retained in ARC

我正在尝试从NSData加载文档(它来self应用程序中的Dropbox文件,但为了简单起见,下面的示例使用了一个.txt文件,这导致了我正在尝试解决的相同问题)。问题:我实例化一个NSDictionary,并将其作为输出参数传递给[NSAttributedString-initWithData:options:documentAttributes:error:]。但是,NSDictionary实例被释放,并导致-initWithData:options:documentAttributes:error:崩溃。当我启用NSZombie时,我得到的错误是:[__NSDictionaryI

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

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

ios - 如果我将自动释放的对象桥接到 Core Foundation,我必须使用 __bridge 或 __bridge_retained 吗?

ARC迁移工具遇到了这个问题:NSURL*fileURL=[NSURLfileURLWithPath:path];AudioFileOpenURL((CFURLRef)fileURL,kAudioFileReadPermission,0,&fileID);特别是,它不确定是否应该执行__bridge或__bridge_retained。我也是。-fileURLWithPath返回一个自动释放的对象,在这个地方我不是fileURL的所有者。但与此同时,该对象的保留计数至少为+1。我敢打赌这只能用__bridge来完成。 最佳答案 您只

objective-c - CF_RETURNS_RETAINED 或 CF_RETURNS_NOT_RETAINED : which to use when?

我不确定对于返回CFDataProviderRef的自定义函数是使用CF_RETURNS_RETAINED还是CF_RETURNS_NOT_RETAINED。根据thedocumentationatthelocationwherethemacrosaredefined,两者都应该只在特殊情况下使用,正确的修复应该是修复我的命名约定。但是swift/objective-c文档suggestsusing它们注释任何返回CoreFoundation指针的函数,而没有真正解释何时使用哪个---如果我不注释它们,我需要每次在swift代码中手动指定行为。我能找到的更多文档解释了如何使用+1的AR

Xcode 7.1 : Property with retain or strong attribute must be of object type

我在一个swift文件中有这个变量:varadbk:ABAddressBook!一直很好,直到Xcode7.1。现在它提示“具有保留或强属性的属性必须是对象类型。”错误在-Swift.h文件中。知道发生了什么变化会导致这种情况以及如何解决它吗? 最佳答案 如果Swift类声明了一些AdressBook属性并且此类是混合Swift/ObjC项目的一部分,则会发生此错误。Xcode然后生成Swift桥接header,其中此属性变为(nonatomic,strong),它仅适用于对象,不适用于结构。当我需要将ABRecordRef从Obj

ios - 使用 Instruments 分析 Swift,_swift_retain_ 到底是什么?

我正在使用Instruments分析我的SwiftiOS应用程序。一堆时间花在_swift_retain_(swift::HeapObject*)libSwiftCore.dylib和_swift_release_(swift::HeapObject*)libSwiftCore.dylib我的代码主要是创建(并超出范围)结构和元组。据我了解,因为它们是值对象,所以它们是在堆栈上分配的,因此我不应该看到这么多堆操作。_swift_retain_和_swift_release_到底是什么意思? 最佳答案 这些函数_swift_retai

java - jVisualVM 的内存检查器中的 "retained size"是什么意思?

摘要选项卡上的Jvisualvm堆转储具有按保留大小检查最大对象的功能。保留的真正含义是什么?如何计算和显示对象树的大小?如果我可以在这里看到对象(10M)及其成员对象(5M),我应该如何计算堆影响。两者都是占用heap的10M还是15M?为什么我看不到我们的外观巨大的应用程序对象?谢谢。 最佳答案 Whatdoesretainedreallymean?fullgc后会有多大。例如。具有大量条目的WeakHashMap在GC后可能为空。Howsizeofanobjecttreeiscalculatedandshownhere?JVM

iphone - AFNetworking 2.0 错误 :Property with 'retain (or strong)' attribute must be of object type

这个问题在这里已经有了答案:WhatpropertyshouldIuseforaDispatchQueueafterARC?(5个答案)关闭9年前。将我的项目更新为AFNetworking,Xcode显示此错误:@property(nonatomic,strong)dispatch_queue_tcompletionQueue;具有“retainorstrong”属性的属性必须是对象类型。我不明白为什么官方的例子没有错误警告?

objective-c - iOS 和 ARC : How to retain self during asynchronous operations?

这是我第一次摆弄iOS5和ARC。到目前为止,一切顺利,但我遇到了一些问题。我有一个自定义的UIStoryboardSegue,我在其中使用FacebookConnect(或其他服务)将用户登录到我的应用程序。简而言之,它应该执行以下操作:用户点击按钮按钮触发Seguesegue启动异步登录但不会立即推送ViewController当且仅当登录成功时,segue推送ViewController相反,登录开始了,但是在它有任何机会完成之前,ARC立即释放了segue。我想到了一个快速的'n'dirtyhack来防止这种情况:@interfaceBSLoginSegue(){__stron

iOS 11。KVO_IS_RETAINING_ALL_OBSERVERS_OF_THIS_OBJECT_IF_IT_CRASHES_AN_OBSERVER_WAS_OVERRELEASED_OR_SMASHED 是什么意思?

在新的iOS11中,我遇到了一些奇怪的异常。我不明白为什么会这样。在之前的iOS中,没有这样的异常。附加日志:Crashed:com.apple.main-thread0libobjc.A.dylib0x180a5e7e8object_isClass+161Foundation0x181f013e8KVO_IS_RETAINING_ALL_OBSERVERS_OF_THIS_OBJECT_IF_IT_CRASHES_AN_OBSERVER_WAS_OVERRELEASED_OR_SMASHED+682Foundation0x181eff8ecNSKeyValueWillChangeWi