草庐IT

弱引用

全部标签

ios - 在 swift 中,当我的类有同名的子类时如何引用最顶层的类

在Swift中:如何将最顶层的myObject分配给innerObj变量?swift是否有某种命名空间运算符让我从全局命名空间创建myObject?考虑下面的代码。//myobjectthatcaninitwithamessage=stringclassMyObject{init(message:String){println(message)}}//hereIdefineaglobalworksfineletglobal=myObject(message:"thisworks")//otherclassclassViewController:UIViewController{//de

Swift:如何在 NSURL 中引用本地镜像

我有一个代码,它从在线检索的文章中加载一些缩略图并将它们放入Article对象中。它看起来像下面这样:forarticleinnewArticlesArray{leturl:StringifletmyGroup=article["group"]as?Dictionary,letmyThumbnail=myGroup["thumbnail"]as?Dictionary,letmyURL=myThumbnail["url"]as?String{url=myURL}else{url="file://no-thumbnail.png"}leta=Article(t:article["title

Swift:引用 ("pointer") 到集合

这可能是一个非常基本/愚蠢的问题:我如何在Swift中获取对集合的引用,以便对该引用的更改影响原始引用,反之亦然?因此,例如,如果我有以下代码:vara1=[Int]()vara2=a1a1.append(1)print(a2)我能得到一个“引用”(或者它在Swift中的任何名称)到a1吗?这样当我改变a1,a2反射(reflect)相同的变化,它最终显示“[1]”而不是“[]”?我想这与集合是主要类型有关,因此与其他对象的行为不同,但后来我不知道如何使用集合而不让它们一直被复制。更具体地说,在使用Dictionary>时,更新嵌套Dictionary内容的最佳方式是什么?同时最小化查

Swift Struct 的引用计数

我有一个关于结构的问题在WWDC2016中,session推荐使用sturct(值类型)但是如果结构有3个以上的内联变量字,结构必须管理引用计数以将大值存储到堆中那么我的问题是当结构有3个另一个结构并且每个结构有2或3个另一个结构或值类型时我想知道在这种情况下是否使用引用计数是如何工作的下面是结构的例子structViewModel{vartitleModel:TitleModelvarcontentModel:ContentModelvarlayoutModel:LayoutModel}structTitleModel{vartext:Stringvarwidth:Floatvarh

swift - 在包含对象引用的 Swift 结构中维护值语义

我有一个Swift结构,其中包含一个用于内部存储的对象。如何确保该结构具有值语义?publicstructTimes{privatelettimes=NSMutableIndexSet()mutatingfuncaddTimeRange(openTime:Int,closeTime:Int){self.times.addIndexesInRange(NSRange(location:openTime,length:closeTime-openTime))}} 最佳答案 Swift3更新Swift3包含Foundation框架中许多类

arrays - apple swift - 从变量引用数组

swift的新手,一个人为的例子。我有一系列菜单类别,而这些菜单类别又具有菜单项我想遍历类别,然后读取项目子数组的元素。不知道将元素作为数组引用的语法第10行第18栏的错误:类型“String”不符合协议(protocol)“Sequence”对于(项目)提供{varmenuOffering=["drinks","breakfastEntree"]vardrinks:Set=["water","milk","coffee","tea","dietcoke"]varbreakfastEntree:Set=["eggs","bacon","sausage","pancakes"]for(o

java - Java 中是否有类似于 Swift 的强引用循环(或类似的东西)的概念?

这个问题在这里已经有了答案:HowdoesJavaGarbageCollectionworkwithCircularReferences?(9个回答)关闭6年前。在Swift中,非常强调强引用循环,以及避免它的不同方法。如果两个变量之间存在强引用循环,它们将永远保存在内存中,如果通过强引用循环将大图片或视频保存在内存中,会导致程序崩溃。我只是想知道Java中是否存在这样的概念?是否有可能无意中创建类似于Java中强引用循环的东西?我有几个月的Java经验,但我从未听说过有人在Java中提到过这样的概念,尽管Java确实使用引用变量来指向对象。

callback - 不可能对回调函数进行 self 引用

不知道如何正确表达问题,所以这里是代码:classFoo{funcfoo2(nextCall:()->()){}funcfoo(nextCall:()->()){funcf1(){foo2(f1)}}}浓缩了,但不确定是不是同类型的问题:classFoo{funcfoo(nextCall:()->()){funcf1(){foo(f1)}}}错误信息是:无法使用来自另一个本地函数的捕获来引用本地函数。知道如何解决这个问题吗?提供的函数用作回调函数,不知何故我想知道为什么不能使用该函数。 最佳答案 此代码成功编译:classFoo{f

ios - 有没有办法更改 iOS 设备上的加速度计引用

我正在开发一款SpriteKit游戏,该游戏使用CMMotionManager根据加速度计和陀螺仪数据移动对象。目前,如果我测试该应用程序并且在我坐下或站立时将设备平放在手中,它会很好用。但是,如果一个人躺下,所以设备不是平的,而是从一开始就在x轴上倾斜(在横向模式下),则对象会移动到底部,并且由于引用距离太远,因此无法移动对象并玩游戏。所以我很好奇,如果可能的话,如何检测设备没有平放并相应地调整加速度计/陀螺仪引用点。 最佳答案 您可以在开始时存储一份Attitude的副本,稍后将其用作计算移动的引用:classMotionMan

ios - 有一个非可选的弱引用有意义吗?

考虑这段代码:internalweakvarsomeObj:SomeClass?=TheObject.Exists().Somewhere.obj这看起来非常合理。引用很弱——也就是说我们无法控制someObj的生命周期——所以在某些时候引用可能变为nil。即使是SomeClass!我也可以认为是可以接受的,只要您意识到可能存在的风险。现在怎么样:internalweakvaranotherObj:AnotherClass=aDifferent.Source().ofObjects.obj编译器甚至不会发出警告。Weak建议引用可能指向已被释放的对象。另一方面,非可选的AnotherC