草庐IT

initialization

全部标签

swift - 'let' 属性不能直接初始化;使用 "self.init(...)"或 "self = ..."代替

我想尝试在protocol扩展中编写一个默认的init,所以我这样做了:protocolP{vardata:[AnyHashable:Any]{get}init(_s:String)}extensionP{init(_s:String){self.data=["s":s]}}但是我收到了这个错误:'let'property'data'maynotbeinitializeddirectly;use"self.init(...)"or"self=..."instead我不知道这是什么意思。感谢您的帮助! 最佳答案 该错误表明该变量无法在

swift - 如何让deinit在swift中生效

我有一个汽车类。假设一辆汽车开往垃圾场,这辆车不应再计入总人口。我有deinit函数,但如何系统地从汽车数量中删除汽车?也就是说,如何让deinit生效呢?我有一个类变量isJunk但不知道如何使用它来完成这项工作。classCar{staticvarpopulation:Int=0varisJunk:Bool=falsevarcolor:Stringvarcapacity:Intvardriver:Bool?varcarOn:Bool=falseinit(carColor:String,carCapacity:Int){self.capacity=carCapacityself.co

ios - 变量名与函数名冲突导致 "Variable used within its own initial value"

有这个功能privatefuncdate(fromstring:String){//Dothingwithstring}调用它时letdate=date(from:"11:30")它产生以下错误在其自身初始值内使用的变量显然将代码更改为letanythingButDate=date(from:"11:30")将使错误消失,但我试图理解为什么首先变量名和方法名之间存在冲突。更新:更准确地说——我知道编译器在给变量和函数命名时遇到了问题,但我很好奇为什么它不能区分一个是变量名,另一个是函数名。 最佳答案 函数和变量之间没有太大区别,因为

ios - 在 Swift 中继承 UIAlertAction 的问题

这是我的代码:classCustomAlertAction:UIAlertAction{init(title:String){super.init(title:title,style:UIAlertActionStyle.Default){(action)->Voidin}}}但是我得到了以下编译错误:Mustcalladesignatedinitializerofthesuperclass'UIAlertAction'我知道UIAlertAction的指定初始化程序是init()。但是UIAlert的init(title,style,handler)不会调用它指定的初始化器init(

QT TLS initialization failed问题(已解决) QT基础入门【网络编程】openssl

问题:qt.network.ssl:QSslSocket::connectToHostEncrypted:TLSinitializationfailed这个问题的出现主要是使用了https请求:HTTPS≈HTTP+SSL,即有了加密层的HTTP所以Qt 组件库需要OpenSSLdll 文件支持HTTPS解决:1.加入以下两行代码获取QT是否支持opensll以及支持的版本//获取Qt所支持的版本qDebug() 2.OpenSSL支持情况:false,那说明当前Qt不支持OpenSSL,需要根据QT支持的版本号进行安装 OpenSSL如果QT支持的版本号跟我的

ios - 如何从 AppDelegate 实例化多个 View Controller ?

有一个包含3个ViewController(V1、V2和V3)的容器View。我可以通过向左或向右滑动来从A、B或C切换。A或B都包含自己的CollectionView。如果我点击A或B内CollectionView中的任何单元格,PlayerVC(在上图中名为Player^^)启动并开始使用AVPlayer播放视频。问题是:由于我使用的是通用链接,因此用户会直接进入playerView播放视频,但是当他们按下完成按钮时,应用程序会崩溃。我相信的问题是因为ViewController上的其余部分未初始化?如何初始化容器View和其他ViewController?或者,如果这不是问题所在

Swift 如何将 `struct` 的默认初始值设定项设为私有(private)

我们的代码中有这样的结构:structFoo{letbar:StringstaticletsharedInstance=Foo(bar:"blah")}除了调用者仍然可以用初始化Foo实例的另一个实异常(exception),它工作得很好letfoo=Foo.init(bar:"blah")有没有办法让生成的初始化程序私有(private)化?我们尝试像这样显式定义初始值设定项:structFoo{letbar:StringstaticletsharedInstance=Foo(bar:"blah")privateinit(bar:String){self.bar=bar}}它可以工作

swift - 在没有 Storyboard或 xib 文件的情况下实例化 UIViewController

我一直在寻找一种方法来实例化未附加到Storyboard或xib文件的自定义UIViewController类。当然,当我尝试初始化UIViewController时,它需要一个NSCoder对象。但是我不知道这个NSCoder对象是从哪里来的,也不知道如何正确地制作它。文档说它是一个接口(interface)声明对象。你知道我如何制作一个NSCoder对象来初始化我的UIViewController吗?或者我可以在应用程序的某处获取NSCoder对象吗?publicclassController:UIViewController,UIAlertViewDelegate{var_vie

swift - 需要帮助理解便捷初始化器和 Swift 中实例变量解包之间的交互

我正在研究有关初始化器和展开的Swift文档,但我未能理解有关其工作方式的一些基本知识。目标:我想子类化SKShapeNode并使用letreverse:Bool来定义一个只在构造函数中设置且永远不需要修改的实例变量.这似乎是定义此类变量的正确方法,但这在下面的代码中出现了问题。下面的代码有效,也就是说,它可以编译,不会崩溃并让我得到想要的行为。publicclassBeamedNotesNode:SKShapeNode{varnotes:[Note]!varnoteNodes:[NoteNode]?varbeam:BeamNode?varchildBeams:[BeamNode]?v

swift - 在 Swift 3.1 中,UnsafeMutablePointer.initialize(from :) is deprecated

在Swift3.1中,不推荐使用UnsafeMutablePointer.initialize(from:)。Xcode建议我改用UnsafeMutableBufferPointer.initialize(from:)。我有一个看起来像这样的代码块:letpointer=UnsafeMutablePointer.allocate(capacity:64)pointer.initialize(from:repeatElement(0,count:64))由于弃用,代码给了我一个编译时警告。所以我要把它改成:letpointer=UnsafeMutablePointer.allocate(