2015-06-23 2 views
0

В настоящее время у меня есть класс, который соответствует NSCoding, содержащему UIBezierPath и UIColor.UIBezierPath для NSData для сервера для Android

required init(coder aDecoder: NSCoder) { 
     super.init() 
     self.lineColor = aDecoder.decodeObjectForKey("color") as! UIColor 
     self.bezierPath = aDecoder.decodeObjectForKey("bezier") as! UIBezierPath 
    } 

    func encodeWithCoder(aCoder: NSCoder) { 
     aCoder.encodeObject(lineColor, forKey: "color") 
     aCoder.encodeObject(bezierPath, forKey: "bezier") 
    } 

достичь этого с NSKeyedArchiver

NSKeyedArchiver.archivedDataWithRootObject(path) 

и сохранить его на сервере (parse.com) я могу разархивировать его без проблем с прошивкой. Но как быть совместимым с Android?

ответ

0

Вам нужно будет преобразовать пути и цвета в какой-то общий формат и экспортировать его в общий формат. Что-то вроде SVG, включая значения RGBA. UIBezierPath и архивирование с ключами - это отдельные элементы iOS с частными бинарными реализациями - попытка работать с ними на Android займет у вас много времени и не будет будущего доказательства.

1

Я согласен с Wain. Вы можете вызвать self.bezierPath.CGPath для извлечения CGPath, а затем вы можете использовать следующий ответ, чтобы получить его в SVG.

How to convert CGPath to SVG

Тогда вы можете отправить его вместе в нейтральном формате.

Смежные вопросы