在swift中传递错误参数

时间:2015-09-02 08:25:11

标签: ios objective-c swift swift2

我正在使用第三方框架,其中包含一个类:

class DaService : NSObject {
    init!(name username: String!, error: AutoreleasingUnsafeMutablePointer<NSString?>)
    …
}

在我的swift代码中,我创建了一个DaService

的实例
let service = DaService(name: “My Name”, &err)

编译抱怨:

Use of unresolved identifier ‘err’

为什么会出现这个错误?如何在swift中传递错误参数?

3 个答案:

答案 0 :(得分:1)

我目前无法测试,但它应该是

var err : NSString? = nil
let service = DaService(name: "My Name", &err)

更多信息可以在&#34; Autoreleasing Pointers&#34; Interacting with C APIs中的部分。

答案 1 :(得分:0)

你没有在传递之前初始化错误。工作示例:

class DaService : NSObject {
    init!(name username: String!, error: AutoreleasingUnsafeMutablePointer<NSString?>) {}

}

var err: NSString? = nil

let service = DaService(name: "My Name", error: &err)

当然,最好使用swift2的throwsdo/catch进行错误处理。

答案 2 :(得分:0)

@MartinR是正确的。 $ sudo chmod -R 755 .git/ $ sudo git pull ssh: Could not resolve hostname our-git-repo: Name or service not known fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. $ sudo ls -al ~/.ssh/ total 36 drwx------ 2 ubuntu ubuntu 4096 Aug 28 15:03 . drwxr-xr-x 8 ubuntu ubuntu 4096 Sep 3 08:51 .. -rw------- 1 ubuntu ubuntu 1533 Aug 28 13:35 authorized_keys -rw------- 1 ubuntu ubuntu 167 Aug 28 15:03 config -r-------- 1 ubuntu ubuntu 1671 Aug 28 14:59 dev-aws.pem -rwx------ 1 ubuntu ubuntu 1430 Aug 28 15:00 fz_key.ppk -rw------- 1 ubuntu ubuntu 3326 Aug 28 14:07 id_rsa -rw------- 1 ubuntu ubuntu 759 Aug 28 14:07 id_rsa.pub -rw------- 1 ubuntu ubuntu 222 Aug 28 14:02 known_hosts $ sudo su # ls -al ~/.ssh/ total 12 drwx------ 2 ubuntu ubuntu 4096 Jun 18 16:45 . drwx------ 4 root root 4096 Sep 1 13:31 .. -rw------- 1 ubuntu ubuntu 1097 Aug 28 13:35 authorized_keys 表示该函数旨在为您提供NSString。你必须给它一个变量来放置字符串。

AutoreleasingUnsafeMutablePointer<NSString?>