草庐IT

self-register

全部标签

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 - 如何在初始化函数中将委托(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,

Element-UI中调用tinymce6实现本地化加载,并解决提示:This domain is not registered with TinyMCE Cloud,省去api-key

最新的tinymce会提示”ThisdomainisnotregisteredwithTinyMCECloud“,要求注册tinymce官方云才能下载所需组件类库。既然这样,那么解决办法就简单了:要么去注册云,要么屏蔽掉提示~~,要么全部由本地加载。问题截图如果只导入importEditorfrom'@tinymce/tinymce-vue',那么会从tinymce云上调用组件,此刻若没api-key的话,会提示需要注册。三种解决办法1.注册并配置api-key点击提示中的注册链接【createanaccount】,去注册一个账号,就能获得一个api-key使用时将该值配置给api-key就行

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

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

swift - 类名后的 .self 是做什么用的? swift 3

我最近注意到有些代码会初始化实例,例如ClassName.self():letrealm=try!Realm.self()从输出结果和之后的使用来看,就像没有它一样-Realm()使用.self进行初始化是否有任何特定原因或用法? 最佳答案 这有点猜测,但我相信确实在Realm的上下文中使用Type.self()的地方遵循了一个被误解的约定(一些无关紧要的)Swift团队解决bug的效果SR-899:.selfcanbeomittedifafunctionhasonlyoneparameterRealm团队的以下提交是为上述错误的预

swift - “Self”不能用于非平凡闭包

我想要一个带有静态初始化方法的类:classA{requiredinit(){}//thisoneworksclassfuncf0()->Self{returnself.init()}//thisoneworksaswellclassfuncf1()->Self{letcreate={self.init()}//noerror,inferredclosuretypeis'()->Self'returncreate()}}不幸的是,Swift3编译器无法为任何比{self.init()}更复杂的闭包推断类型。例如:classfuncf2()->Self{letcreate={//erro

swift - 使用从另一个协议(protocol)继承或使用 where Self 声明 swift 协议(protocol)时的区别

我仍然不明白使用继承声明Swift协议(protocol)时有什么区别:protocolSubProtocol:SuperProtocol{...}或使用whereSelfprotocolSubProtocolwhereSelf:SuperProtocol{...}通过以这两种方式执行此操作,结果完全相同,两个选项都可以正常编译,并且可以正常工作,SubProtocol将具有与SuperProtocol相同的内容。那有什么区别呢?我能看到的唯一区别是语义,一个比另一个更清楚(见下面的例子)。但这是我的观点,我想知道其他人是否也这么认为,或者我可能误解了整件事。示例:protocolPr