前提・実現したいこと
Realmの要素をSegmentedControlの数に応じて取り出し、グラフに描画したいです
該当のソースコード
Swift
1var percentPoints = try! Realm().objects(Post.self).sorted(byKeyPath: "date", ascending: true).value(forKey: "percent") 2@IBAction func SegmentSelected(_ sender: UISegmentedControl) { 3 var numSegments = 0; 4 switch sender.selectedSegmentIndex { 5 case 0: 6 numSegments = 7 7 case 1: 8 numSegments = 30 9 default: 10 numSegments = 12 11 } 12 13 var dataPoints = [Double]() 14 for i in 0..<numSegments { 15 dataPoints.append(Double(percentPoints[i])) 16 } 17 graphView.setData(dataPoints) 18}
Realmに保存してあるpercentは文字列型です。上記のコードと違うファイルで下記のように記述しています。
@objc dynamic var percent = ""
問題点
Value of type 'Any?' has no subscripts
このようなエラーが出てしまいました。型が不明であることから発生するエラーのようなのですが、datePointsに合わせてDouble()で型変換しているので、なぜこのエラーが出ているのかわかっていないです。
試したこと
print(percentPoints)
このようにpercentPointsの中身をコンソールに出力させたところ、Realm内のPercentの内容が適切に表示されました。
しかし、percentPoints[0]と記述し、コンソールに出力させようとした際
Value of type 'Any?' has no subscripts
というエラーが出ました。
補足情報(FW/ツールのバージョンなど)
XCodeのバージョンは12.4です。
ご教授のほどよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/03/04 06:26 編集