标签: swxmlhash

在Swift 4中实现自定义解码器

我想使用DecodableSwift 4中引入的新协议解码XML文档,但是,似乎没有符合Decoder协议的XML解码器的现有实现.

我的计划是使用SWXMLHash库来解析XML,然后可能使该XMLIndexer库中的类扩展Decoder协议,以便可以使用XMLIndexer(XMLIndexer返回SWXMLHash.parse(xmlString))实例初始化我的模型.

XMLIndexer + Decoder.swift

我的问题是我不知道如何实现Decoder协议,我似乎无法在网上找到任何解释它是如何完成的资源.我发现的每一个资源都严格地提到了JSONDecoderSwift标准库中包含的类,没有找到的资源解决了创建自己的自定义解码器的问题.

xml decoder swift swxmlhash codable

30
推荐指数
1
解决办法
7993
查看次数

使用SWXMLHash for Swift迭代XML文件

这是我的代码块,

var a = 0;

let task = NSURLSession.sharedSession().dataTaskWithRequest(request) {
    data, response, error in

    if error != nil {
        println("error=\(error)")
        return
    }

    responseString = NSString(data: data, encoding: NSUTF8StringEncoding)!

    let xmlWithNamespace = responseString
    var xml = SWXMLHash.parse(xmlWithNamespace)

    var entity = xml["row"]["ftc"]["Entity"][a]

    if entity.element?.attributes["ID"] != nil {

        entity = xml["row"]["ftc"]["Entity"][a]
        //println(a)

        println(entity.element?.attributes["ID"])
        a++
    } else {
        println("Print We Have Reached Our Limit")
    }

}
task.resume()
Run Code Online (Sandbox Code Playgroud)

我试图让一个迭代器通过并打印出这些内部的所有子项和属性并将它们存储在变量中.

我一直在寻找一些帮助,但Swift和XML只是一个令人头痛的问题 - 任何帮助让我迭代通过节点会很惊人,我尝试使用while循环,但它只是在给我节点后崩溃了程序.

我试图在循环中使用它,但即使这样也行不通,

while entity.element?.attributes["ID"] != nil {
    entity = xml["row"]["ftc"]["Entity"][a]
    //println(a)

    println(entity.element?.attributes["ID"])
    a++
    break …
Run Code Online (Sandbox Code Playgroud)

xml iteration swift swxmlhash

4
推荐指数
1
解决办法
2655
查看次数

如何使用xml Body发送带有alamofire的请求

我在我的项目中安装了Alamofire,现在这就是我所做的.

我安装了邮差,我把我的网址和内部的一个xml对象,我得到了我的结果.

这是我对邮递员所做的一切

在此输入图像描述

我现在如何使用Alamofire或SWXMLHash发送它,因为我发送邮件

提前致谢!

编辑

我从另一个问题尝试了这个:

 Alamofire.request(.POST, "https://something.com" , parameters: Dictionary(), encoding: .Custom({
            (convertible, params) in
            let mutableRequest = convertible.URLRequest.copy() as! NSMutableURLRequest

            let data = (self.testString as NSString).dataUsingEncoding(NSUTF8StringEncoding)
            mutableRequest.HTTPBody = data
            return (mutableRequest, nil)
        }))


    .responseJSON { response in


    print(response.response) 

    print(response.result)   


    }
}
Run Code Online (Sandbox Code Playgroud)

但它没有发送任何东西

这是日志:

可选({URL:https: //something.com } {状态代码:200,headers {Connection ="keep-alive";"Content-Length"= 349;"Content-Type"="application/xml";日期="Wed,2016年11月2日21:13:32 GMT"; Server = nginx;"Strict-Transport-Security"="max-age = 31536000; includeSubDomains";}})

失败

编辑

如果没有简单的添加,请不要忘记参数参数:参数:Dictionary()

xml ios swift alamofire swxmlhash

3
推荐指数
2
解决办法
6167
查看次数

无法将“ AppDelegate”分配给“ UNUserNotificationCenterDelegate”

我正在关注本教程:https : //medium.com/flawless-app-stories/ios-remote-push-notifications-in-a-nutshell-d05f5ccac252

但是由于某种原因,我越来越

无法将“ AppDelegate”分配给“ UNUserNotificationCenterDelegate”。

那条线是做什么的?如果我将其注释掉,其余代码将正常工作,并且如果用户希望允许通知,则会提示用户。

func registerForPushNotifications() {
    UNUserNotificationCenter.current().delegate = self // line in question
    UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge]) {
        (granted, error) in
        print("Permission granted: \(granted)")
        // 1. Check if permission granted
        guard granted else { return }
        // 2. Attempt registration for remote notifications on the main thread
        DispatchQueue.main.async {
            UIApplication.shared.registerForRemoteNotifications()
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

ios swxmlhash swift3 xcode9

0
推荐指数
1
解决办法
616
查看次数

标签 统计

swxmlhash ×4

swift ×3

xml ×3

ios ×2

alamofire ×1

codable ×1

decoder ×1

iteration ×1

swift3 ×1

xcode9 ×1