class – ‘self’在super.init调用之前使用
发布时间:2020-12-14 05:21:21 所属栏目:百科 来源:网络整理
导读:我是新来的,我不明白如何初始化一个类. 成功在类定义中初始化为false if (succeeded (time1000)){ errormessage += ";connection slow" } 时间初始化为 time = data[3].toInt() 数据在哪里 var data = split(raw_data) {$0 == ","} 而raw_data是一个字符串.
我是新来的,我不明白如何初始化一个类.
成功在类定义中初始化为false if (succeeded && (time>1000)){ errormessage += ";connection slow" } 时间初始化为 time = data[3].toInt() 数据在哪里 var data = split(raw_data) {$0 == ","} 而raw_data是一个字符串. 类定义: class geocodeObject: NSObject { init定义: init(lat: String,long:String,userstate:String) { (没有任何类型的超级init) class geocodeObject: NSObject { //A type to store the data from the Reverse Geocoding API //Not a retriever //Options let API_KEY_TEXAS = "9e4797c018164fdcb9a95edf3b10ccfc" let DEV_MODE = true //Loading status var succeeded = false var errormessage = "Not Initalized" //Not nesscarilly a failure,could be slow connection var loadstate: String? //Most important info var street: String?; var housenumber: String?; var city: String?; var zip: String? //Metadata var time: IntegerLiteralType?; var statuscode: String?; var queryid: String?; var zip4: String? //Other geographical data var entirestreet: String?; var state: String? init(lat: String,userstate:String) { //userstate: State provided by user //state: State provided by Reverse Geocoder var url: String? var extra: String? if DEV_MODE{ extra = "¬Store=true" } else{ extra = "" } url = "http://geoservices.tamu.edu/Services/ReverseGeocoding/WebService/v04_01/HTTP/default.aspx?lat="+lat+"&lon="+long+"&apikey="+API_KEY_TEXAS+"&version=4.01" if (userstate == "nil"){ url = url! + extra! println("if") } else{ url = url! + "&state="+state!+extra! println("else") } let raw_data = retrieveurl(url!) var data = split(raw_data) {$0 == ","} //data[1] is API version used. statuscode = data[0]; queryid = data[2]; time = data[3].toInt(); entirestreet = data[4]; city = data[5] state = data[6]; zip = data[7]; zip4 = data[8] //Do street,housenumber,errormessage,succeeded if (state != userstate){ println("user state not equal to state") } var splittedstreet = split(entirestreet!){$0 == " "} housenumber = splittedstreet[0] street = splittedstreet[1] println(statuscode) //Error message handling switch String(statuscode!){ case "200": errormessage = "Success" case "400": errormessage = "Unknown API key error" case "401": ... //Time handling if (succeeded && (time>1000)){ errormessage += ";connection slow" } } println("/GeocodingAPIWrapper.swift/.geocodeObject.init: Not Implemented") } }
这是一段时间,但我发现的答案是你应该添加super.init()作为你的init块中的第一行
init(lat: String,userstate:String) { super.init() ... 这样我就摆脱了它,并且满足了错误的要求.据了解,这是您的变量在NSObject.init()中初始化,因此您可以在自定义init(_)块中使用分配的值 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |