swift - 关于swift中NSError的问题

标签 swift

如何在 Swift 中为 NSError 分配错误代码?下面给出了一个编译错误,说“无法分配给‘e’中的‘代码’”:

        var e = NSError()
        e.code = 6;

还有为什么下面的代码会产生'Int is not convertible to selector'的错误

        if e.code == EKAuthorizationStatus.Restricted
        {
        }

最佳答案

错误代码属性是只读的,类型为 Int。你需要初始化如下:

 var e= NSError(domain: <string?>, code: 6, userInfo: <AnyObject>)

更新: 正如@ahruss 所指出的,您还需要将枚举转换为其原始形式,因为类型转换不是隐式的,因此我相应地更新了示例。

请查找有关 NSError 类的文档 here .

Playground 示例:

import Cocoa
var e = NSError(domain: nil, code: 6, userInfo: nil);

//if e.code == 6
if e.code == EKAuthorizationStatus.Restricted.toRaw()
{
    println("success");
}

关于swift - 关于swift中NSError的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25191877/

相关文章:

快速字符串比较没有按预期工作

swift - NSFetchedResultsController 每个部分的不同排序描述符

ios - 在 Swift 中以编程方式更新约束的常量属性?

如果设备上仅设置了 devicecode,IOS 无法创建私钥?

swift - SKEmitterNode 的子类不调用 init 或 deist

swift - iOS 10 将 RAW 照片保存到相机胶卷

TableView 内的 Swift Collection View 有空白空间

Swift.DecodingError.Context

Swift performSegueWithIdentifier 显示黑屏

ios - 在 iPad 上共享文件失败,错误代码为 "[ShareSheet] Failed to request default share mode for fileURL:..."