草庐IT

range-init

全部标签

ios - 在所需的 init(coder aDecoder : NSCoder) in Swift 中使用方法

我的ViewController中有以下内容:requiredinit(coderaDecoder:NSCoder){selectedFocusAreas=Array()for_in0...focusAreas.count{selectedFocusAreas.append(false)}super.init(coder:aDecoder)!}这段代码可以编译并且没有给我任何问题。但是,当我尝试将代码提取到这样的方法中时:requiredinit(coderaDecoder:NSCoder){setUpSelectedFocusAreaData()super.init(coder:aD

Swift 编译错误,子类化 NSValue,使用 super.init(nonretainedObject :)

这段代码classID:NSValue{init(baseObject:T){super.init(nonretainedObject:baseObject)}}给出这个编译器错误:error:mustcalladesignatedinitializerofthesuperclass'NSValue'super.init(nonretainedObject:baseObject)^我该如何摆脱它?我想到的事情我认为错误可能是因为NSValue初始化程序有一个AnyObject?类型(注意:postfix?)。我在某些地方尝试了各种类型的转换和[?!]后缀,但没有修复任何问题。另外,大概

ios - Swift:在 init/deinit 中添加/删除观察者会在 Interface Builder 中引发错误

我有一个可检查的简单swiftUI组件(https://github.com/mbigatti/BMXCircularButton)。在init/deinit方法中,我调用了启动和停止对突出显示状态的观察。init(frame:CGRect){super.init(frame:frame)self.addObserver(self,forKeyPath:"highlighted",options:.New,context:nil)}init(coderaDecoder:NSCoder!){super.init(coder:aDecoder)self.addObserver(self,f

swift - 'Int' 不可转换为 'Range<Int>'

我最近从Xcode6.0迁移到Xcode6.1,我在一些以前编译正常的代码上遇到了编译错误。这是导致错误的行:self.possibleWidgetUnits[widgetSizes.Small.rawValue]=WidgetFormat(width:1.0,height:1.0)错误是:'Int'isnotconvertibleto'Range'这是我的变量声明:typealiasWidgetFormat=(width:Int,height:Int)varpossibleWidgetUnits:[WidgetFormat]这些行有什么问题?编辑:enumwidgetSizes:In

ios - Swift:我的便利 init 看不到正常的 init

我正在尝试为我的类创建一个方便的初始化:User。我之前为另一个类(class)做过这个,并且-再次创建它-我使用了相同的代码,只是我的用户类(class)有所不同。这是我的用户类:importFoundationclassUser{//DatabaseVariablesletuserID:String?letfirstName:String?letlastName:String?letpassword:String?letemailID:String?letdob:String?//timestampletpicture:String?//URL?letlocation:Locati

ios - swift - fatal error : Array index out of range

我正在尝试用每个增加0.1的数字填充一个数组,例如:[0.1,0.2,0.3...]此代码给我错误:fatalerror:数组索引超出范围。我错过了什么?我觉得我在声明错误。我会把它存成Double类型的结构。我的代码importUIKitclassPrecoDomicilioViewController:UIViewController,UIPickerViewDelegate,UIPickerViewDataSource{@IBOutletvareuros:UIPickerView!varpickerData:[Double]=[]overridefuncviewDidLoad()

ios - Swift:在从初始化器返回之前,没有在所有路径上调用 'super.init'?

我在我的类中的init的最后一个大括号中收到此错误。该类类似于以下内容(我在发生错误的地方销售):classRecordingViewController:UIViewController,AVCaptureFileOutputRecordingDelegate{letcameraButton:UIButton?letcamPreview:UIView?init(cameraButton:UIButton!,camPreview:UIView!){self.cameraButton=cameraButtonself.camPreview=camPreview}//geterrorher

swift - 找不到接受提供的参数的 "init"的重载 (swift)

我已经定义了网络服务URL:letgetLoginURL="http://example-web-service.com"然后通过NSURL传递这个url并分配给名为“url”的变量。leturl=NSURL(getLoginURL)我收到“无法为接受提供的参数的“init”找到重载”错误。会是什么原因呢?谢谢。 最佳答案 初始化NSURL时必须提供字符串参数名leturl:NSURL=NSURL(string:"http://example-web-service.com") 关于sw

swift - 如何在 swift 中使用 init 复制 NSSet

我正在尝试快速复制这条ObjectiveC行:SKProductsRequest*request=[[SKProductsRequestalloc]initWithProductIdentifiers:[NSSetsetWithObject:self.productID]];Apple文档显示swift版本是:init(productIdentifiersproductIdentifiers:NSSet!)所以我的尝试是letproductID:NSSet=NSSet("somevalue");letrequest:SKProductsRequest=SKProductsRequest

swift - 在 init()s 中变量前的词是什么意思?

很抱歉提出可怕的问题,但我一直在阅读swift书并遵循教程,并且我发现了这个NSCoder协议(protocol)并禁用它等等。requiredinit(coderaDecoder:NSCoder){fatalError("notbeenimplemented")}我理解必需的初始化,但我不理解我必须编写的这段代码。是不是说传了一个NSCoder就会出现fatalerror?另外,coder这个词是什么意思?为什么我需要它在变量名前面? 最佳答案 该代码的目的是满足NSCoding协议(protocol)的要求,该协议(protoc