私はSwift 2.3プロジェクトをswift 3に変換しました。コンパイラはもうエラーは発生しませんが、コンパイルは継続します。 CPUは100%のようなもので、停止しなければ50分以上コンパイルしています。XcodeはSwift 3を構築し続けています
XcodeはBuilding ..と言っています。 Swiftソースファイルのコンパイル
ビルドログでは、常に同じ高速ファイルで停止します。スウィフトファイルは単純なモデルクラスなので、問題の内容を知ることはできません。
私は迅速2で同じ問題を抱えていたが、それは??
オペレータによって引き起こされました。 ??
演算子を削除するようにコードをリファクタリングしましたので、これはもうできません。
どのようにして無限にコンパイル時間を遅くすることがわかりますか?
私のモデルはすべて同じに見える:
protocol InputDictionaryMapper {
func retrieveInputDictionary() -> NSDictionary
func retrievePublicInputDictionary() -> NSDictionary
}
class InputContract: Model, InputDictionaryMapper {
func retrieveInputDictionary() -> NSDictionary {
fatalError("Each inputContract implementation must implement it's own method: \(NSStringFromClass(type(of: self)))")
}
func retrievePublicInputDictionary() -> NSDictionary {
fatalError("Each inputContract implementation must implement it's own method: \(NSStringFromClass(type(of: self)))")
}
required init(json: JSON) {
fatalError("init(json:) has not been implemented")
}
override init() {
super.init()
}
}
そしてモデルがあまりにもJSONのための別のinitを持っているだけで、基本クラスである:
class Test: InputContract {
var appointmentDate: Date!
var startTime: String!
var endTime: String!
var registerDescription: String!
var subjectKey: String!
var channelCode: String!
var relationManagerHrId: String = ""
var employeeUserCode: String = ""
var smsReminderMobileNumber: String = ""
var smsReminderMobileNumberSequence: String!
var contactPhoneNumber: String = ""
var contactPhoneNumberSequence: String!
var smsReminder: Bool = false
override func retrieveInputDictionary() -> NSDictionary {
return ["description" : self.registerDescription, "appointmentDate" : Utils.formattedDate(self.appointmentDate),
"startTime" : self.startTime, "endTime" : self.endTime, "subjectKey" : self.subjectKey, "channelCode" : self.channelCode, "smsReminder" : self.smsReminder ? "true" : "false", "relationManagerHrId" : self.relationManagerHrId, "employeeUserCode" : self.employeeUserCode,
"smsReminderMobileNumber" : self.smsReminderMobileNumber, "contactPhoneNumber" : self.contactPhoneNumber, "smsReminderMobileNumberSequence" : self.smsReminderMobileNumberSequence, "contactPhoneNumberSequence" : self.contactPhoneNumberSequence
]
}
}
InputContractです。
ビルドログでアナライザーを実行すると、すべてのモデルがNSDictionaryを作成するために長くかかります。しかし、なぜ?
1.プロジェクトをクリーンアップしようとしましたか、Xcode/etcを再起動しましたか? 2.このSwiftファイルを別のプロジェクトでコンパイルしようとしましたか? もしそうでなければ、ハングするSwiftファイルの内容を投稿してください。 – fiks
こんにちは、私は同じ問題を抱えています。解決策はありますか? – Rock
@fiks私はクラスで私の質問を編集しました。 – user1007522