我刚开始使用swift 3.0。我尝试定义一个CFDictionary来设置value.When代码运行到"CFDictionarySetValue“的函数,我得到这个错误: EXC_BAD_ACCESS(code=1,address=0x7e8)
var keyCallBacks = kCFTypeDictionaryKeyCallBacks
var valueCallBacks = kCFTypeDictionaryValueCallBacks
let query = CFDictionaryCreateMutable(kCFAllocatorDefault, 4, &keyCallBacks,&valueCallBacks)
var secClass = kSecClass
var genericPassword = kSecClassGenericPassword
CFDictionarySetValue(query,&secClass, &genericPassword)
var attrCount = kSecAttrAccount
var accountStr = "nothing_account" as CFString
CFDictionarySetValue(query, &attrCount, &accountStr)发布于 2017-06-06 14:47:46
不需要使用繁琐的语法来创建CF..集合类型,您可以将字典声明为Swift Dictionary -您必须对其进行显式注释,并将键桥接到String -并将字典桥接到CFDictionary,例如:
let query : [String: Any] = [kSecClass as String : kSecClassGenericPassword,
kSecAttrAccount as String : "nothing_account"]
var result : CFTypeRef?
let status = SecItemCopyMatching(query as CFDictionary, &result)https://stackoverflow.com/questions/44380486
复制相似问题