前提・実現したいこと
Realmの要素をSegmentedControlの数に応じて取り出し、グラフに描画したいです
該当のソースコード
Swift
var percentPoints = try! Realm().objects(Post.self).sorted(byKeyPath: "date", ascending: true).value(forKey: "percent") @IBAction func SegmentSelected(_ sender: UISegmentedControl) { var numSegments = 0; switch sender.selectedSegmentIndex { case 0: numSegments = 7 case 1: numSegments = 30 default: numSegments = 12 } var dataPoints = [Double]() for i in 0..<numSegments { dataPoints.append(Double(percentPoints[i])) } graphView.setData(dataPoints) }
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です。
ご教授のほどよろしくお願いいたします。
まだ回答がついていません
会員登録して回答してみよう