相关疑难解决方法(0)

将Unmanaged <AnyObject>与nil进行比较

该代码是从以下博客文章中复制而来的:http://matthewpalmer.net/blog/2014/06/21/example-ios-keychain-swift-save-query/

我以前有这个代码:

// Search for the keychain items
let status: OSStatus = SecItemCopyMatching(keychainQuery, &dataTypeRef)

// The following line crashes with an EXEC_BAD_ACCESS if dataTypeRef is nil
var opaque = dataTypeRef!.toOpaque()
Run Code Online (Sandbox Code Playgroud)

当我在钥匙串查询中使用新帐户值运行上述操作时,dataTypeRefnil导致一个EXEC_BAD_ACCESS.

我试图通过检查是否dataTypeRefnil这样来绕过这个:

var opaque = COpaquePointer.null()
if (dataTypeRef != nil) {
    opaque = dataTypeRef!.toOpaque()    // This line should not be executed.
}
Run Code Online (Sandbox Code Playgroud)

虽然调试器显示dataTypeRefnil它仍然会进入if语句和崩溃.

谁能解释一下这里发生了什么?我确实有Objective-C的经验,但我无法弄清楚这里发生了什么.

ios swift xcode6.1

3
推荐指数
1
解决办法
1206
查看次数

标签 统计

ios ×1

swift ×1

xcode6.1 ×1