У меня есть этот класс в проекте, который раньше использовал Swift 2.3. Когда я перенес проект на Swift 3, компиляция xcode заняла вечность, и я увидел, что он застрял в этом классе. Я не могу собрать весь проект из-за этого класса. Есть ли способ изменить этот класс, чтобы можно было построить проект? Xcode всегда скомпилировал этот фрагмент кода. Если я удалю несколько свойств из MyClass, Xcode снова быстро скомпилируется. Кто-нибудь знает, как решить эту проблему?
import Foundation
class MyClass: NSObject {
var id: String = ""
var uid: String = ""
var uname: String = ""
var fname: String = ""
var txt: String = ""
var hay: Float = 0
var flag = false
var long: Double = 0
var lat: Double = 0
var altitude: Double = 0
var course: Double = 0
var speed: Double = 0
var lname: String = ""
var city: String = ""
var country: String = ""
var sublocal: String = ""
var subarea: String = ""
var thumb: String = ""
var trash = false
var date: Double = 0
var updated: Double = 0
var furl: String = ""
func toAnyObject() -> Any {
return [
"id": id,
"uid": uid,
"uname": uname,
"fname": fname,
"txt": txt,
"hay": hay,
"flag": flag,
"long": long,
"lat": lat,
"altitude": altitude,
"course": course,
"speed": speed,
"lname": lname,
"city": city,
"country": country,
"sublocal": sublocal,
"trash": trash,
"subarea": subarea,
"thumb": thumb,
"date": date,
"updated": updated,
"furl": furl
]
}
}
toAnyObject()
как[String : Any]
? - person Hamish   schedule 05.11.2016vars
? Кажется маловероятным, что вы когда-нибудь обновитеid
,uid
,uname
и т.д ... Если они не обновлены, используйтеlet
. Фактически, вы должны использоватьlet
по умолчанию и менять значение наvar
только в том случае, если компилятор сообщает вам, что это необходимо. - person Fogmeister   schedule 05.11.2016init()
, которые я удалил для простоты вопроса, поэтому нам нужны этиvars
- person hoang   schedule 06.11.2016