草庐IT

字典序法

全部标签

arrays - Swift 3 - 使用数组中的值按字典值过滤和排序字典数组

我正在尝试以优雅的方式实现以下行为:ReorderusersbytheidinuserIdsandfilteroutalluserswhoseidisn'tinuserIds尝试以“swift方式”做到这一点:varusers=[["id":3,"stuff":2,"test":3],["id":2,"stuff":2,"test":3],["id":1,"stuff":2,"test":3]]varuserIds=[1,2,3]userIds.map({userIdinusers[users.index(where:{$0["id"]==userId})!]})产生重新排序和过滤的预

swift - 为什么隐式解包的可选不在 [String : Any] 类型的字典中解包

如果我在我的类中声明了一个隐式解包的可选值,然后我在[String:Any]类型的Dictionary中引用它,它不会被解包。为什么是这样?为什么不是可选的Any不强制它解包?varaString:String!="hello"varparams:[String:Any]=["myString":aString]print(params)//Thisprints["myString":Swift.ImplicitlyUnwrappedOptional.some("hello")]请注意,如果我将字典指定为[String:String]类型,它将被解包,但是当我在Dictionary.

swift - 遍历字典时如何避免swift中的重复键错误

我正在练习swift,我正在尝试遍历Dictionary来打印key,但它给了我一个fatalerror:Dictionaryliteralcontainsduplicatekeys如何消除错误?letpeople=["age":14,"age":15,"age":75,"age":43,"age":103,"age":87,"age":12]for(key,value)inpeople{print(value)} 最佳答案 每个字典键必须是唯一的letpeople=["age1":14,"age2":15,"age3":75,"a

swift - 如何在swift中将字典添加到数组

如何初始化数据并向数组添加值([0]=>Array([name]=>Firstelement[foo]=>bar)[1]=>Array([name]=>Secondelement[foo]=>bar2)) 最佳答案 这是一个包含字典的数组,是你要的吗?letmyArray=[["name":"Firstelement","foo":"bar"],["name":"Secondelement","foo":bar2]]//在循环中编辑添加项目:varmyArray=[[String:String]]()foriin0..

ios - 如何在 ObjectMapper 中映射 JSON 字典?

我有如下所示的json数据:{"balance":{"pointsEarned":3,"pointsAvailable":3,"pointsOnHold":0,"pointsConsumed":0,"nextReward":6}}我正在尝试映射“平衡”以便获得其他值:classAccountBalance:Mappable{varbalance:Dictionary?varpointsAvailable:Int?requiredinit?(_map:Map){}funcmapping(map:Map){balance根据objectMappergithubpage它是这样做的:Obje

ios - Swift - 具有实现通用协议(protocol)的值的 Typealias 字典

我想为实现Equatable协议(protocol)的对象/结构的String键和值的字典键入别名。所以我写了这行代码,但它给了我错误,我不知道如何继续修复。typealiasStorage=[String:Equatable]我想使用[String:E​​quatable]类型作为协议(protocol)中的变量,例如:protocolStorageModel{varstorage:Storage{getset}init(storage:Storage)}错误:Protocol'Equatable'canonlybeusedasagenericconstraintbecauseith

swift - 如何声明以函数为值并以整数为键的字典?

structTest{funcisOk()->Bool{returntrue}varmapping:[Int:()->Bool]=[1:isOk]functest()->Bool{returnmapping[1]()}}我遇到了这个错误:Cannotconvertvalueoftype'(Test)->()->Bool'toexpecteddictionaryvaluetype'()->Bool'有什么想法吗?谢谢! 最佳答案 你看到这个奇怪的类型((Test)->()->Bool)因为Swiftinstancemethodsare

Swift - 什么决定了字典集合的顺序?

当我说顺序时——我的意思是编译器选择显示结果的顺序,我知道字典没有像数组那样的索引。我有以下字典:letgroups:Dictionary=["Data":["Save","Restore"],"LoadTabs":["ReloadTabswhenselectingtab"],"Privacy":["SetPasscode"],"AboutMe":["Twitter","LinkedIn"]]但是控制台显示它是这样显示的:["Privacy":("SetPasscode"),"LoadTabs":("ReloadTabswhenselectingtab"),"Data":(Save,R

swift - 使用枚举的默认值作为字典键而不显式转换为 String

如果我声明一个enum像这样:enumKeys{casekey_onecasekey_two}我可以打印它,它会自动转换为String:print(Keys.key_one)//prints"key_one"如果我然后制作一个映射Strings的字典无论是什么(但为了简单起见,让我们再次选择Strings),我认为它应该能够通过使用Keys.key_one添加key作为关键,对吧?错了。varmyDict=[String:String]()///error:cannotsubscriptavalueoftype'[String:String]'withanindex///oftype'

swift - 如何提取字典之间的差异?

我可以像这样比较两个字典是否匹配:func==(lhs:[String:AnyObject],rhs:[String:AnyObject])->Bool{returnNSDictionary(dictionary:lhs).isEqualToDictionary(rhs)}是否有一种简洁的方法来提取2个词典之间的差异,如交集的反面? 最佳答案 我们可以定义一个运算符来检查2个字典是否包含相同的键以及每个键是否包含相同的值。值必须是平等的首先我们需要使用泛型来要求字典的Value符合Equatable,否则我们将无法比较值。代码这是代