从 NSErrorPointer 获取可读信息
Posted
技术标签:
【中文标题】从 NSErrorPointer 获取可读信息【英文标题】:Get readable info from NSErrorPointer 【发布时间】:2015-06-13 14:44:49 【问题描述】:有没有办法在 Swift 中从以下 NSErrorPointer
获取可读信息?
var downloadErrorPointer = NSErrorPointer();
self.rssString = String(contentsOfURL: url!, encoding: NSUTF8StringEncoding, error: downloadErrorPointer);
【问题讨论】:
【参考方案1】:您不应该直接使用 NSErrorPointer 的实例。相反,您创建一个可选的 NSError 变量并使用 &
运算符传递它的地址,就像在 Objective-C 中一样:
var error : NSError? = nil
self.rssString = String(..., error: &error);
但是在 Swift 2 中,错误处理有了新的语法,所以不能再使用了。新语法如下:
do
self.rssString = try String(...)
// Everything OK, the rssString is valid
catch let error as NSError
// This only gets executed if there was an error
【讨论】:
你可以用catch
,对吧? let error
是隐含的。
是的,let error
是隐式的,但是你不会得到一个 NSError 而是一个符合 ErrorType 协议的值。如果你需要来自 NSError 的信息,你仍然需要转换它以上是关于从 NSErrorPointer 获取可读信息的主要内容,如果未能解决你的问题,请参考以下文章
自动化框架——PO设计模式自学——参数化配置——ini配置文件——全面