0
マップ上で位置がタップされるたびにインスタンス化される領域オブジェクトサブクラスがあります。私のレルムオブジェクトのサブクラスである:私のマップビューコントローラ(GMSMapViewDelegate)でRealmオブジェクトのサブクラスのプロパティにアクセスできないサブクラス
final class MapLocation:Object {
@objc var text = ""
@objc var latitude = Double()
@objc var longitude = Double()
}
、私は、マップの各タップ上の場所を追加してい:
func mapView(_ mapView: GMSMapView, didTapAt coordinate: CLLocationCoordinate2D) {
let lat = coordinate.latitude
let lon = coordinate.longitude
index += 1
let marker = GMSMarker()
marker.position = coordinate
marker.map = mapView
try! realm?.write {
let location = MapLocation(value: ["latitude":lat, "longitude":lon, "text":"locaton-\(index)"])
self.items.append(location)
self.items.realm?.add(location)
}
}
このビューコントローラの負荷、私が欲しいです前のセッションで作成されたポイントを表示します。私は次のようにしています:
このforループでは、MapLocationオブジェクトの永続リストを取得していることを確認しました。私はこのループ内ながらpo print(location)
を行うと、私は正しく、次を得る:
MapLocation {
text = locaton-1;
latitude = 50.73600783337027;
longitude = 4.882587678730488;
}
はここに私の問題です。これらのプロパティにアクセスすることはできません。たとえば、次のようになります。
(lldb) po print(location)
MapLocation {
text = locaton-1;
latitude = 50.73600783337027;
longitude = 4.882587678730488;
}
(lldb) po print(location.longitude)
0.0
(lldb) po print(location.latitude)
0.0
(lldb) po print(location.text)
nil
(lldb)
ここに示すように、プロパティは保存されていますが、取得時には使用できません。誰がなぜこれが起こっているのか教えてもらえますか?ありがとう!
ありがとうございます。私はそれが私が見落としていた単純なものでなければならないことを知っていた – Pheepster