数组 – Realm对象返回nil(Swift)

数组 – Realm对象返回nil(Swift),第1张

概述我有一个自定义的多边形对象,所以我可以将地图叠加保存到Realm.我能够成功创建这个对象,但是当我想要检索var多边形对象时,它返回nil.当我打印多边形对象时,它会将所有数据打印出来. 这是它打印出来的样本. CustomPolygon { name = Polygon1; id = p1; polygon = Polygon { coordinates 我有一个自定义的多边形对象,所以我可以将地图叠加保存到Realm.我能够成功创建这个对象,但是当我想要检索var多边形对象时,它返回nil.当我打印多边形对象时,它会将所有数据打印出来.

这是它打印出来的样本.

Custompolygon {    name = polygon1;    ID = p1;    polygon = polygon {        coordinates = RLMArray <0x7f928ef36230> (            [0] Coordinate {                latitude = -36.914167;                longitude = 174.904722;            },[1] Coordinate {                latitude = -36.9325;                longitude = 174.957222;            },. . .         );    };}

我的函数从Realm加载数据

func loadOverlaysFromrealm(){    do {        let realm = try Realm()        let polygons = realm.objects(Custompolygon)        for p in polygons {            var coordinates = [CLLocationCoordinate2D]()            print(p) // !!!!! prints out what is above            print(p.polygon) // !!!!! Returns nil.             if let coordinateList = p.polygon?.coordinates as? List<Coordinate> {                for coordinate in coordinateList {                    coordinates.append(CLLocationCoordinate2DMake(coordinate.latitude,coordinate.longitude))                }            }            print(coordinates) // prints "[]"            let polygon = MKpolygon(coordinates: &coordinates,count: coordinates.count)            self.map.addOverlay(polygon)        }    } catch let error as NSError {        print(error.localizedDescription)    }}

我的课程

class Custompolygon: Object {    var name:String = ""    var ID:String = ""    var polygon:polygon? = nil}class polygon: Object {    var coordinates = List<Coordinate>()}class Coordinate: Object {    var latitude:Double = 0.0    var longitude:Double = 0.0}
需要使用动态修饰符声明Object子类的String,Double和Object属性,以允许Realm覆盖属性的getter和setter.如果没有这个,Swift编译器将直接访问对象的实例变量,这不会为Realm提供从Realm文件读取或写入数据的任何机会.有关如何声明每种受支持类型的属性的快速概述,请参阅Realm的 model property cheatsheet. 总结

以上是内存溢出为你收集整理的数组 – Realm对象返回nil(Swift)全部内容,希望文章能够帮你解决数组 – Realm对象返回nil(Swift)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1089745.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存