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是不可散列的-它们不符合可散列协议。