首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Swift 3.0设置CFDictionary中的值

使用Swift 3.0设置CFDictionary中的值
EN

Stack Overflow用户
提问于 2017-06-06 10:30:59
回答 1查看 496关注 0票数 0

我刚开始使用swift 3.0。我尝试定义一个CFDictionary来设置value.When代码运行到"CFDictionarySetValue“的函数,我得到这个错误: EXC_BAD_ACCESS(code=1,address=0x7e8)

代码语言:javascript
复制
    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)
EN

回答 1

Stack Overflow用户

发布于 2017-06-06 14:47:46

不需要使用繁琐的语法来创建CF..集合类型,您可以将字典声明为Swift Dictionary -您必须对其进行显式注释,并将键桥接到String -并将字典桥接到CFDictionary,例如:

代码语言:javascript
复制
let query : [String: Any] = [kSecClass as String : kSecClassGenericPassword, 
                             kSecAttrAccount as String : "nothing_account"]

var result : CFTypeRef?
let status = SecItemCopyMatching(query as CFDictionary, &result)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44380486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档