我想在NSUserDefaults中保存我的MKPolyline和MKPolygon視圖。我有,我已經實現了一個模型:無法使用NSCoding編碼MKPolyline或MKPolygon
-(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;
個
爲什麼這可能發生的任何想法?
爲了將'initWithCoder:/ encodeWithCoder:'保存到'NSUserDefaults'中(即將其轉換爲NSData),您需要遵循NSCoding類。那麼,MKPolyline不符合NSCoding。你可以做什麼,而不是,是保存點或座標(論文應該很容易保存),並從他們重建了MKPolyline。 – Larme