草庐IT

self-register

全部标签

Swift 协议(protocol)定义返回 self 的类方法

我的代码在XCode6beta中工作,但最近在更新到xcode6.1后停止工作。这是我的协议(protocol):protocolCanDeserialiseFromJson{classfuncFromJson(json:JSONValue)->Self}这是实现:extensionInvoice:CanDeserialiseFromJson{classfuncFromJson(json:JSONValue)->Self{returnInvoice()}}这没有给出错误:'Invoice'isnotconvertableto'Self'正如我所说,这曾经有效,但我不明白为什么它不再有效

objective-c - 如何在 Swift 中调用 [self new]

这是一个用ObjectiveC编写的UIView扩展,可以轻松创建使用自动布局的View:+(id)autolayoutView{UIView*view=[selfnew];view.translatesAutoresizingMaskIntoConstraints=NO;returnview;}它调用[selfnew]所以UIView的任何子类都可以使用这个方法。我如何在Swift中实现这一目标? 最佳答案 好的,这似乎是解决方案。该类型必须有一个必需的初始值设定项和正确的参数列表(在本例中没有参数)。classSubView:U

Swift 闭包导致与 self 的强保留循环

我只想知道我是否理解正确。因此,根据苹果文档,当您创建一个闭包作为类实例的属性并且该闭包引用self(创建闭包属性的类)时,这将导致强保留循环,最终类和闭包都不会被释放.因此,用外行的话来说,这意味着如果我有一个具有属性的类并且该属性是一个闭包,并且一旦我在声明闭包属性的类中分配该闭包的功能,这将导致强保留循环。这是我的意思的一个简单示例classSomeViewController{letmyClosure:()->VoidpublicfuncsomeFunction(){....bunchofcodemyClosure={self.dismiss(blahBlahBlah)}}}这

快速守护 self

我正在以这种方式快速跳弱强舞:dispatch_async(dispatch_get_global_queue(QOS_CLASS_DEFAULT,0),{[weakself]inguardlet`self`=selfelse{return}self.doSomething(1)})在此之前,我使用的是strongSelf而不是`self`。在一个网站上,我看到我可以使用这个字符`。但是这个角色在Swift中做了什么?没有这个我不能分配给自己。为什么这行得通?使用它是一种好的做法吗? 最佳答案 一些更新(我不会在这里提及何时使用它,

ios - CKReference 的 CloudKit Delete Self 选项不起作用

是否有人有使用CloudKit选项为DeleteSelf获取CKReference的经验?这是我从文档中得到的:DeleteSelfThedeleteactionforreferencedrecords.DeletingarecordalsodeletesanyrecordscontainingCKReferenceobjectsthatpointtothatrecord.Thedeletionoftheadditionalrecordsmaytriggeracascadedeletionofmorerecords.Thedeletionsareasynchronousinthedef

swift - 在 RxSwift 驱动程序中使用 [unowned self] 安全吗?

例子:tapGestureRecognizer.rx.event.asDriver().drive(onNext:{[unownedself]_inself.view.endEditing(true)}).disposed(by:disposeBag)因为disposeBag是由自己控制的,我会假设是吗? 最佳答案 是的,如果disposeBag是self的成员变量,那是安全的。 关于swift-在RxSwift驱动程序中使用[unownedself]安全吗?,我们在StackOverf

ios - 弱 self 与弱 self 的区别()

将[weakself]作为参数传递给闭包与传递[weakself]()有什么区别?例如:dispatch_async(dispatch_get_main_queue()){[weakself]in//Somecodehere}v/sdispatch_async(dispatch_get_main_queue()){[weakself]()->Voidin//Somecodehere} 最佳答案 您没有将[weakself]()作为参数传递给闭包。[weakself]是一个捕获列表并且在之前参数列表/返回类型声明()->Void在闭包

ios - Swift 4 KVO block 崩溃 : observed object deallocated while observer was still registered

我最近开始使用iOS11作为目标版本开发我的应用程序,因为这是默认值。由于某些原因,我现在已经将版本降低到9.3。该应用程序是纯Swift4,使用新的KVOblock。我修复了我在safeAreaInsets等方面遇到的一些编译时错误,并成功构建了应用程序。一个快速的工作。不错。我尝试在iPhone7iOS10.3.1模拟器上运行它,老天爷——这是一场火车事故。我想UITableViewAutomaticDimension在过去并不是真正的东西。无论如何,我已经修复了大部分布局问题,但现在我遇到了一些严重的崩溃问题。无论我在哪里使用这个新的KVO,当我返回时它都会崩溃。我的导航推送Vi

ios - 自定义 View - self.frame 不正确?

所以我有一个自定义的UIView类classMessageBox:UIView{overrideinit(frame:CGRect){super.init(frame:frame)createSubViews()}requiredinit?(coderaDecoder:NSCoder){super.init(coder:aDecoder)createSubViews()}funccreateSubViews(){lettestView=UIView(frame:self.frame)testView.backgroundColor=UIColor.brownself.addSubvie

java - 初始化本地数据存储异常 : No API environment is registered for this thread

我想使用一些数据初始化我的本地数据存储常规Java程序(我不想启动开发服务器并调用服务/servlet),我得到以下异常异常(exception):Exceptioninthread"main"java.lang.NullPointerException:NoAPIenvironmentisregisteredforthisthread.atcom.google.appengine.api.datastore.DatastoreApiHelper.getCurrentAppId(DatastoreApiHelper.java:108)atcom.google.appengine.api