1
コードをSwift 3.0に変換しようとしていますが、移行ツールを使用した後に特定のコードブロックを変換するのが難しいです。NSDateコードがSwift 3.0に移行していません
SWIFT 3.0への移行PREVIOUS:
:私は "(:INITの)タイプ" と "初期化" を交換するXcodesのアドバイスに従っextension Date {
init(posixTime: Double) {
//ERROR IN THE LINE BELOW: "'init' is a member of the type; use 'type(of: ...)' to initialize a new object of the same dynamic type"
(self as NSDate).init(timeIntervalSince1970: Double(posixTime)/1000.0)
}
}
:移行ツールAFTER
import Foundation
extension NSDate {
convenience init(posixTime: Double) {
self.init(timeIntervalSince1970: Double(posixTime)/1000.0)
}
}
extension Date {
init(posixTime: Double) {
//ERROR IN THE LINE BELOW: "Expected expression in list of expressions"
(self as NSDate).type(of: init)(timeIntervalSince1970: Double(posixTime)/1000.0)
}
}
Xcodeは "of:"の前にカンマを追加するように要求します。これによりエラーが発生しやすくなります。間違った場所に居る)。 Swift 3でこのコードブロックを使用する正しい方法は何ですか?
これは解決策でした。 –
マイグレーションでは、マイグレーションが利便性を高め、次にタイプを追加した奇妙なことがありました。 POSソフトウェアappleが作ったもの –
残念ながら、自動移行ツールでは依然として手動による検査が必要です。 – ramacode