Xcode 7 Betaをダウンロードしたところ、このエラーはenumerate
キーワードに現れました。
_for (index, string) in enumerate(mySwiftStringArray)
{
}
_
誰も私がこれを克服するのを助けることができますか?
また、count()
はString
の長さをカウントするために機能しなくなったようです。
_let stringLength = count(myString)
_
上記の行では、コンパイラは次のように述べています。
「count」は使用できません:コレクションの「count」プロパティにアクセスします。
Has Appleは、Swift 2.0?
多くのグローバル関数は、プロトコル拡張メソッド、Swift 2のように、enumerate()
はSequenceType
の拡張メソッドになりました:
_extension SequenceType {
func enumerate() -> EnumerateSequence<Self>
}
_
として使用
_let mySwiftStringArray = [ "foo", "bar" ]
for (index, string) in mySwiftStringArray.enumerate() {
print(string)
}
_
また、String
はSequenceType
に準拠しなくなったため、characters
プロパティを使用してUnicode文字のコレクションを取得する必要があります。また、count()
は、グローバル関数ではなく、CollectionType
のプロトコル拡張メソッドです。
_let myString = "foo"
let stringLength = myString.characters.count
print(stringLength)
_
Swift 3:enumerate()
の更新はenumerated()
に名前が変更されました:
_let mySwiftStringArray = [ "foo", "bar" ]
for (index, string) in mySwiftStringArray.enumerated() {
print(string)
}
_
Enumerate()の使用時にSwift 2の更新がありました。
enumerate(...)
の代わりに、人々は
... .enumerate()
その理由は、多くのグローバル関数がプロトコル拡張メソッドに置き換えられ、列挙エラーが発生するためです。
お役に立てれば。ではごきげんよう。 n
私はこれが古いスレッドであることを知っていますが、Swift 2.0とPlaygroundsをいじくり回しているだけで、enumerate()を使用するソリューションを共有すると思った同じ問題に遭遇しました文字列のメソッド
// This line works in Swift 1.2
// for (idx, character) in enumerate("A random string, it has a comma.")
// Swift 2.x
let count = inputString.characters
for (idx, character) in count.enumerate() where character == "," {
// Do something with idx
}
お役に立てれば
ありがとうカイ