ios - 无法在 Swift2.0 中调用类型 'NSDictionary' 的初始值设定项

标签 ios swift

这可能很简单,但是,由于我对 Swift 的经验不是很丰富,所以我不知道如何将此行移植到 Swift 2.0。

func setPasscode(identifier: String, passcode: String) {
    var dataFromString: NSData = passcode.dataUsingEncoding(NSUTF8StringEncoding)!;

    var keychainQuery = NSDictionary(objects: [kSecClassGenericPassword, identifier, dataFromString], forKeys: [kSecClass, kSecAttrService, kSecValueData])

    SecItemDelete(keychainQuery as CFDictionaryRef);
    var status: OSStatus = SecItemAdd(keychainQuery as CFDictionaryRef, nil);
}

错误信息: 无法使用类型为“(objects: NSArray, forKeys: [CFString])”的参数列表调用类型“NSDictionary”的初始值设定项

最佳答案

let identifier = "someIdentifier"
let dataFromString = "someData"
let values = [kSecClassGenericPassword, identifier, dataFromString]
let keys: [NSString] = [kSecClass, kSecAttrService, kSecValueData]
let keychainQuery = NSDictionary(objects: values, forKeys: keys)

关于ios - 无法在 Swift2.0 中调用类型 'NSDictionary' 的初始值设定项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32443027/

相关文章:

ios - 如何以编程方式快速更改语言环境和 Storyboard?

ios - 有没有办法在编辑 UITableView 时隐藏 "-"(删除)按钮

iphone - 如何访问 NSArray 中的某个值?

ios - 在 Collection View 中显示/隐藏顶部行

SwiftUI 安全更新任务的状态变量

ios - shouldChangeCharactersInRange 接受单个 '.'

ios - 无法将类型 'UIView' (0x112484eb0) 的值转换为 'SKView' (0x111646718)

ios - 如何为 SKSpriteNode 创建自定义属性?

ios - 从 iOS 上的 OpenGL ES 3.0 读取 RGB8 缓冲区?

swift - Swift 中 println 和 print 的区别