Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/105.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift、can和x27;是否创建字典来保存键值?_Ios_Swift - Fatal编程技术网

Ios Swift、can和x27;是否创建字典来保存键值?

Ios Swift、can和x27;是否创建字典来保存键值?,ios,swift,Ios,Swift,我想创建一个字典来保存这些值,但出现以下错误 import Security var keychainQuery: Dictionary = [ kSecClass: kSecClassGenericPassword, kSecAttrService: service, kSecAttrAccount: userAccount, dataFro

我想创建一个字典来保存这些值,但出现以下错误

import Security
var keychainQuery: Dictionary =

            [
                kSecClass: kSecClassGenericPassword,
                kSecAttrService: service,
                kSecAttrAccount: userAccount,
                dataFromString: kSecValueData
            ]

Cannot convert the expression's type 'Dictionary' to type '@lvalue Unmanaged<AnyObject>!'
导入安全性
var-keychainQuery:字典=
[
kSecClass:kSecClassGenericPassword,
kSecAttrService:服务,
kSecAttrAccount:userAccount,
dataFromString:kSecValueData
]
无法将表达式的类型“Dictionary”转换为类型“@lvalue Unmanaged!”

在大多数使用Swift的情况下,我发现声明字典类型的痛苦要小得多。就你而言:

var keychainQuery: Dictionary<String, AnyObject> = [
    ...
]
var-keychainQuery:Dictionary=[
...
]

应该有用。

在大多数使用Swift的情况下,我发现声明字典类型的痛苦要小得多。就你而言:

var keychainQuery: Dictionary<String, AnyObject> = [
    ...
]
var-keychainQuery:Dictionary=[
...
]

应该有用。

在大多数使用Swift的情况下,我发现声明字典类型的痛苦要小得多。就你而言:

var keychainQuery: Dictionary<String, AnyObject> = [
    ...
]
var-keychainQuery:Dictionary=[
...
]

应该有用。

在大多数使用Swift的情况下,我发现声明字典类型的痛苦要小得多。就你而言:

var keychainQuery: Dictionary<String, AnyObject> = [
    ...
]
var-keychainQuery:Dictionary=[
...
]

应该有效。

就我目前所知,使用Swift字典构建钥匙链查询是不可能的。 像kSecClass这样的密钥是不可散列的类型,因此不能放在字典中(这严格要求共享相同协议的项)

我看到的解决这个问题的方法之一是使用NSDictionary并将键和值作为数组传递。这段代码似乎只适用于Xcode 6 Beta 1

可以看到另一种方法。 基于这种方法,您可以使用
\()
语法将所有键和值常量转换为字符串。 查询将如下所示:

var query = ["\(kSecClass)": "\(kSecClassGenericPassword)", "\(kSecAttrService)": service, "\(kSecAttrAccount)": account, "\(kSecValueData)": secretData]

我测试了这个解决方案,得到一个错误,说我正在尝试添加已经存在的密钥。因此,这似乎也不起作用。

据我所知,用Swift字典构建钥匙链查询是不可能的。 像kSecClass这样的密钥是不可散列的类型,因此不能放在字典中(这严格要求共享相同协议的项)

我看到的解决这个问题的方法之一是使用NSDictionary并将键和值作为数组传递。这段代码似乎只适用于Xcode 6 Beta 1

可以看到另一种方法。 基于这种方法,您可以使用
\()
语法将所有键和值常量转换为字符串。 查询将如下所示:

var query = ["\(kSecClass)": "\(kSecClassGenericPassword)", "\(kSecAttrService)": service, "\(kSecAttrAccount)": account, "\(kSecValueData)": secretData]

我测试了这个解决方案,得到一个错误,说我正在尝试添加已经存在的密钥。因此,这似乎也不起作用。

据我所知,用Swift字典构建钥匙链查询是不可能的。 像kSecClass这样的密钥是不可散列的类型,因此不能放在字典中(这严格要求共享相同协议的项)

我看到的解决这个问题的方法之一是使用NSDictionary并将键和值作为数组传递。这段代码似乎只适用于Xcode 6 Beta 1

可以看到另一种方法。 基于这种方法,您可以使用
\()
语法将所有键和值常量转换为字符串。 查询将如下所示:

var query = ["\(kSecClass)": "\(kSecClassGenericPassword)", "\(kSecAttrService)": service, "\(kSecAttrAccount)": account, "\(kSecValueData)": secretData]

我测试了这个解决方案,得到一个错误,说我正在尝试添加已经存在的密钥。因此,这似乎也不起作用。

据我所知,用Swift字典构建钥匙链查询是不可能的。 像kSecClass这样的密钥是不可散列的类型,因此不能放在字典中(这严格要求共享相同协议的项)

我看到的解决这个问题的方法之一是使用NSDictionary并将键和值作为数组传递。这段代码似乎只适用于Xcode 6 Beta 1

可以看到另一种方法。 基于这种方法,您可以使用
\()
语法将所有键和值常量转换为字符串。 查询将如下所示:

var query = ["\(kSecClass)": "\(kSecClassGenericPassword)", "\(kSecAttrService)": service, "\(kSecAttrAccount)": account, "\(kSecValueData)": secretData]

我测试了这个解决方案,得到一个错误,说我正在尝试添加已经存在的密钥。因此,这似乎也不起作用。

它不起作用,因为像kSecClass这样的键属于非托管类型。即使将其作为字典类型传递,它也会失败,因为AnyObject和Unmanaged是不可散列的-它们不符合可散列协议。像kSecClass这样的键是Unmanaged类型的,所以它不起作用。即使将其作为字典类型传递,它也会失败,因为AnyObject和Unmanaged是不可散列的-它们不符合可散列协议。像kSecClass这样的键是Unmanaged类型的,所以它不起作用。即使将其作为字典类型传递,它也会失败,因为AnyObject和Unmanaged是不可散列的-它们不符合可散列协议。像kSecClass这样的键是Unmanaged类型的,所以它不起作用。即使将其作为字典类型传递,它也会失败,因为AnyObject和Unmanaged是不可散列的-它们不符合可散列协议。