gpt4 book ai didi

ios - 无法使用 NSCoding 对 MKPolyline 或 MKPolygon 进行编码

转载 作者:行者123 更新时间:2023-11-29 00:36:22 27 4
gpt4 key购买 nike

我试图在 NSUserDefaults 中保存我的 MKPolyline 和 MKPolygon View 。我有一个已实现的模型:

-(id)initWithCoder:(NSCoder *)aDecoder
- (void)encodeWithCoder:(NSCoder *)aCoder

但是,每当我尝试对我的 MKPolyLine 进行编码时,我都会收到错误消息:

-[MKPolyline encodeWithCoder:]: unrecognized selector sent to instance

我设置了一个所有异常断点,它停在这一行:

[aCoder encodeObject:self.layerData forKey:@"layer"];

layerData 的属性是:

@property (strong, nonatomic) MKPolyline *layerData;

关于为什么会发生这种情况有什么想法吗?

最佳答案

虽然您可以为 MKPolyline 实现 NSCoding,并且您可以制作一个 NSData 表示并将其存储在 NSUserDefaults 中,它可以以键值形式存储在 NSUserDefaults 中。

如果您有单行或多个数组,则构造一个数组,并将它们与相应的键/值绑定(bind),使它们形成一个字典。它具有每个点的 x 和 y 值,并将其存储在 NSUserDefaults 中。

加载默认值时,获取数组,如果有多个 MKPolyline,则循环遍历单个数组(如果是单行)和字典。然后用这些点重新创建 MKPolyline。

关于ios - 无法使用 NSCoding 对 MKPolyline 或 MKPolygon 进行编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40504918/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com