双方playground
で試しているのですが、上はcomputedPropertyをデフォルト引数に設定することができるのですが、
下はできません。すべてのプロパティの値が初期化される前に使用しているからだと思いますが、引数に設定する方法はありますか?
swift
1var array = [String]() 2 3var lastIndex: Int? { 4 return array.isEmpty ? nil : array.count - 1 5} 6 7func printArrayIndex(index: Int? = lastIndex) { 8 print(index as Any) 9} 10
swift
1class Object { 2 3 var name: String = "" 4 var elements = [String]() 5 6 var lastIndex: Int? { 7 return elements.isEmpty ? nil : elements.count - 1 8 } 9 10 func printIndex(index: Int? = lastIndex) { // <= error/ Cannot use instance member 'lastIndex' as a default paramete 11 print(index) 12 } 13 14} 15
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/04/26 02:15