我是新来的,我不明白如何初始化一个类.
原文链接:https://www.f2er.com/swift/318916.html成功在类定义中初始化为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") }
}