草庐IT

retain-cycle

全部标签

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

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

class - swift 类 : reference cycle

当我运行下面的程序时,它会产生段错误。你能帮我弄清楚为什么吗?谢谢classAnimal:NSObject{varname:String!varage:UInt!weakvarspouse:Animal?init(name:String,age:UInt){self.name=nameself.age=age}funcdescription()->String{//tobecomeprintablereturn"name=\(name)andage=\(age)spouse=\(spouse)"}}letdog=Animal(name:"Lucky",age:3)letcat=Anim

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

python - 属性错误 : Unknown property color_cycle

我正在学习“pandas”并尝试绘制id列,但出现错误AttributeError:Unknownpropertycolor_cycle和空图。该图仅出现在交互式shell中。当我作为脚本执行时,我得到了同样的错误,除了图表没有出现。日志如下:>>>importpandasaspd>>>pd.set_option('display.mpl_style','default')>>>df=pd.read_csv('2015.csv',parse_dates=['log_date'])>>>employee_198=df[df['employee_id']==198]>>>print(emp

ios - 如何在 ARC 下的 Instruments 中激活 Cycles 报告?

仪器可以以有趣的图形方式可视化ARC下的保留周期。我还记得几天前我无意中发现了Instruments中的“Cycles”View。现在我开始使用ARC的地方,突然间我再也找不到它了。Allocations和VMTracker工具不提供它,Leaks工具也不提供。我必须做什么才能看到保留周期?找到截图为证: 最佳答案 使用Xcode4.2.1,我在“Cycles&Roots”下的“Leaks”中找到了它。但是,我发现它在使用ARC时用处不大。它确实检测到CF泄漏,显然我正在泄漏一个递归block,对此我无能为力,但我不得不根除Leak

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