Swift で前方宣言のようなことを行うにはどうすればよいですか?
クラスの前に宣言されたプロトコルがありますが、プロトコルはクラスの前に宣言された列挙型 (recordType) を使用する必要があります。
protocol iCloudDelegate {
func errorUpdating(error: NSError)
func iCloudUpdated()
func iCloudFetched(recordType: recordType)
}
class iCloud {
enum recordType : String {
case Payment = "Payment"
case Subtype = "Subtype"
case Types = "Type"
case Entry = "Entry"
case Repeat = "Repeat"
}
}
現在、Swift コンパイラはUse of undeclared type 'recordType'エラーで不平を言っています。ここでの Objective-C では、ある種の前方宣言を行いますが、Swift はどうでしょうか?
補足的な質問として、「Type」は明らかに列挙型の予約済みのケース ワードであるため、上記では Type ではなくケース タイプを宣言する必要があったことがわかります。これを克服する方法はありますか?(もちろん、私がしたように名前を変更することは別として)