iOSアプリケーションをSwift 3.0に移行するプロセスについてここに私が直面している1つの問題があります。タイプ '[XYZ]!'サブスクリプトメンバーがありません
まず、関連するコード:
struct OnlineBox {
var vf1,vf2:CGFloat!
var vs1:String!
}
var myOnlineInfo:[OnlineBox]!
func doSomeWork() {
myOnlineInfo = [OnlineBox](repeating: OnlineBox(vf1: 0.0, vf2: 0.0, vs1: ""), count: 11)
// below someInfoArray comes from querying a Core Data Entity:
for item in someInfoArray {
myOnlineInfo[(item.valueForKey("keyOne") as! Int) - 1].vf1 = item.valueForKey("vf1") as! CGFloat
myOnlineInfo[(item.valueForKey("keyOne") as! Int) - 1].vf2 = item.valueForKey("vf2") as! CGFloat
myOnlineInfo[(item.valueForKey("keyOne") as! Int) - 1].vs1 = item.valueForKey("vs1") as! String
}
}
第二の問題:
私はループ内の3行のために、この神秘的なエラーメッセージを取得しています:つまり
Type '[OnlineBox]!' has no subscript members
配列には添え字メンバーはありません。私はそれを得ていない。
どのようにコードを変更する必要がありますか?
はあなたsomeInfoArrayを表示します。 '["" keyOne ":1、" vf1 ":0.0 ...]、[" keyOne ":2、" vf1 ":0.0] ...]のようなものですか? – Satachito
私はsomeInfoArrayを表示できますが、 "(item.valueForKey(" keyOne ")!Int)はIntでなければなりません。残りは重要ではありません。私が間違っている? – Michel
someInfoArrayがどこから来るかを確認できるようになりました。 – Michel