为什么CLLocation没有序列化?

时间:2017-02-28 16:38:15

标签: json swift serialization handyjson

我有以下代码。当且仅当Place继承自HandyJSONlatLong属性未序列化时,HandyJSON才会被序列化。

为什么Place会忽略此属性?我尝试将import CoreLocation import HandyJSON struct Place { var latLong : CLLocation = CLLocation(latitude: 51.5256, longitude: -0.0875) } extension Place : HandyJSON {} extension CLLocation : HandyJSON {} extension CLLocationCoordinate2D : HandyJSON {} 作为一个类而不是一个结构,但它并没有改变结果。

/**                                                                                                                                                               
 * This class was generated by the JAX-WS RI.
 * JAX-WS RI 2.2.9-b14002
 * Generated source version: 2.2
 *
 */
@WebService(name = "SI_Message_SYN_OUT", targetNamespace = "http://V2/B/ISP/Global")
@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
@XmlSeeAlso({
    ObjectFactory.class
})
public interface SIMessageSYNOUT {


    /**
     *
     * @param myMessage
     */
    @WebMethod(operationName = "SI_Message_SYN_OUT", action = "http://sap.com/xi/WebService/soap1.1")
    public void siMessageSYNOUT(
        @WebParam(name = "my-message", targetNamespace = "", mode = WebParam.Mode.INOUT, partName = "my-message")
        Holder<myMessage> myMessage);

}   

1 个答案:

答案 0 :(得分:0)

我放弃并创建了自己的简单自定义类型。这至少会使我的代码更通用。

import HandyJSON

struct LatLong : HandyJSON {

    public init() {

        self.latitude = 51.5256
        self.longitude = -0.0875
    }

    public init(latitude: Double, longitude: Double) {

        self.latitude = latitude
        self.longitude = longitude
    }

    var latitude: Double
    var longitude: Double
}