草庐IT

self-updating

全部标签

swift - 为什么 SequenceType.dropFirst(_ :) return Self. SubSequence 而不是 Self?

试图理解SequenceTypeprotocol:protocolSequenceType{associatedtypeSubSequence@warn_unused_resultfuncdropFirst(_n:Int)->Self.SubSequence/*...*/}为什么我们需要associatedtypeSubSequence,为什么不需要Self,SequenceType? 最佳答案 这样做是为了提高灵active。允许符合SequenceType协议(protocol)的类定义一个不同的类来表示它的子序列,允许实现者构

swift - self.addChild 是做什么的?

这是一个愚蠢的问题,但是函数self.addChild()做了什么?我很熟悉这个函数,也很熟悉如何使用它,但我不确定它把child添加到什么地方。例如,我创建并设计了一个名为spinnyNode的SKShapeNode。然后我调用函数:functouchDown(atPointpos:CGPoint){ifletn=self.spinnyNode?.copy()as!SKShapeNode?{n.position=posn.strokeColor=SKColor.blackself.addChild(n)}在这种情况下,parent是什么?是创建节点的View吗?非常感谢您抽出时间回答

ios - 处理URLSession时是否总是需要[Weak self]?

我不知道在这种情况下是否需要使用[weakself]?HTTPClient.swift:structHTTPClient{letsession=URLSession.sharedfuncget(url:URL,completion:@escaping(Data)->Void){session.dataTask(with:url){data,urlResponse,errorincompletion(data)//assumeeverythingwillgowell}.resume()}}服务.swiftstructService{lethttpClient:HTTPClientinit

ios - Realm swift : Update an object inside a closure

为了这个问题,这里有一个简单的例子(有一些快捷方式):classFoo:Object{dynamicvarid:Int=0[...]}classBar:Object{dynamicvarid:Int=0dynamicvarfoo:Foo?conveniencerequiredinit(data:AnyObject){self.init()self.id=data.idas!Intifletfoo_id=data.foo_idas?Int{//FunctionqueryingtheremotedatabaseandreturninganobjectFoo.get(foo_id){(foo

ios - 如何在初始化函数中将委托(delegate)设置为 self ?

我有一个名为MQTTController的类,带有共享实例和私有(private)初始化方法classMQTTController:NSObject,CocoaMQTTDelegate{staticletsharedInstance=MQTTController()varclientID:Stringvarmqtt:CocoaMQTTprivateoverrideinit(){clientID="xyz-"+String(ProcessInfo().processIdentifier)mqtt=CocoaMQTT(clientID:clientID,host:"mqttcontroll

swift - 如果我实际上没有在我的完成 block 中引用 self,我应该使用 [weak self] 吗?

当我有一个引用我的类对象属性的完成block时,我使用[weakself]。但是,有时我有一个不引用任何属性的完成block,但类对象可能会消失并取消初始化。我应该使用[weakself]吗?当我这样做时,它通常会发出警告Variable'self'waswrittento,butneverread...doSomeFunction(){[weakself]in//Noreferencestoselfhere} 最佳答案 捕获变量,只有当你在内部使用它时才会发生,默认情况下闭包永远不会捕获变量(不像Java内部类总是捕获this),

ios - 如何在类方法中返回 self ?

试过这个,它给了我一个错误:classBaseClass{classvartestProperty:String{return"Original"}classfunctestingFunc()->Self{returnself//error-Cannotconvertreturnexpressionoftype"Self.Type"toreturnthetype"Self"}}有什么想法吗?谢谢 最佳答案 在类/静态函数中,self指类类型。没有实例可以引用,所以得到的是类型,也就是当前作用域。它在实例方法中不一样,其中self指的

ios - 为什么我用闭包初始化属性时可以使用 self?

官方文档(Swift4.1)说:Ifyouuseaclosuretoinitializeaproperty,rememberthattherestoftheinstancehasnotyetbeeninitializedatthepointthattheclosureisexecuted.Thismeansthatyoucannotaccessanyotherpropertyvaluesfromwithinyourclosure,evenifthosepropertieshavedefaultvalues.Youalsocannotusetheimplicitselfproperty,

即使 self 保持存在,Swift 弱引用也会变为 nil

我试图弄清楚为什么即使对象保持存在,弱引用也会丢失其引用的对象。我的代码如下:MyClass{deinit{print("I'mbeingdeinited")//Thisnevergetscalled}funcdoConnection(connection:Future){Future{completeinconnection.onSuccess{[weakself]datainguardletstrongSelf=selfelse{return//Thislinegetscalled}...}}}}通过检查内存图,我可以看到在future完成之前由self引用的对象仍然存在(根据内存

ios - 为什么我的 update() 函数对 dB 水平没有反应?

我正在尝试让我的应用对拍手声或高于正常声级的声音使用react。我为此使用了Swift和SpriteKit。我已经导入了AVFoundation,当然还有SpriteKit。这是我的设置:letdirPaths=NSSearchPathForDirectoriesInDomains(.DocumentDirectory,.UserDomainMask,true)letdocsDir=dirPaths[0]as!StringletsoundFilePath=docsDir.stringByAppendingPathComponent("sound.caf")letsoundFileURL