XMLParser的坑

144 阅读1分钟

XMLParser的正常使用

let parser = XMLParser(data: data)

//设置delegate

parser.delegate = self
//开始解析

parser.parse()

然后实现回调接收
func parser(_ parser: XMLParser, foundCharacters string: String) {
}

正常使用没有问题,如果是把这些封装到pod私有库里面,那么问题来了,竟然出现代理不调用的问题。

解决办法也很坑爹,给代理方法前面加public就行。如下:

let parser = XMLParser(data: data)

//设置delegate

parser.delegate = self
//开始解析

parser.parse()

然后实现回调接收
public func parser(_ parser: XMLParser, foundCharacters string: String) {
}

原因是什么呢?