大佬教程收集整理的这篇文章主要介绍了ios – 声明NSDictionary并在Swift中添加键值对?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
var catandSubCatDict: NSDictionary<Category,Array<SubCategory>> = NSDictionary<Category,Array<SubCategory>>()
这里,“Category”和“SubCategory”是全局类.我知道我不能将类类型用于关键字段.但是,无论如何,我应该做到这一点.有没有办法做到这一点?如何声明专门的NSDictionary或类似的东西来做到这一点?
另外,我使用这样的字典:
for(var i=0; i<resultJson.count; i++) { let subCategoryItemList = resultJson.objectATindex(i) as NSDictionary let categoryItem = subCategoryItemList.valueForKey(WSConstants.CATEGORY_OBJ) as NSDictionary var category: Category = Category() category.categoryId = categoryItem.valueForKey(WSConstants.CATEGORY_ID) as Int category.categoryName = categoryItem.valueForKey(WSConstants.Name) as String var subCategoryList: Array<SubCategory> = [] let jsonSubCategoryList = subCategoryItemList.allKeysForObject(WSConstants.SUBCATEGORY_LIST_OBJ) as NSArray for(var i=0; i<jsonSubCategoryList.count; i++) { let subCategoryObj = jsonSubCategoryList.objectATindex(i) as NSDictionary var subCategory: SubCategory = SubCategory() subCategory.subCategoryId = subCategoryObj.valueForKey(WSConstants.SUBCATEGORY_ID) as Int subCategory.subCategoryName = subCategoryObj.valueForKey(WSConstants.Name) as String subCategory.subCategoryType = subCategoryObj.valueForKey(WSConstants.SUBCATEGORY_TYPE) as Int subCategoryList.append(subCategory) } self.catandSubCatDict.SETVALue(category,forkey: subCategoryList) // Also,I have to achieve this }
谢谢您的回答,
最好的祝福
var catandSubCatDict: NSDictionary = NSDictionary()
Swift提供了一个新的字典类型,它支持泛型,并且要创建它,你只需要在代码中用字典替换NSDictionary:
var catandSubCatDict: Dictionary<Category,Array<SubCategory>> = Dictionary<Category,Array<SubCategory>>()
或使用以下紧凑形式之一:
var catandSubCatDict: [Category : Array<SubCategory>] = [Category : Array<SubCategory>]() var catandSubCatDict: [Category : [SubCategory]] = [Category : [SubCategory]]()
请注意,在上面提到的所有情况下,您可以使用类型推断并通过删除变量类型来缩短代码:
var catandSubCatDict = NSDictionary() var catandSubCatDict = Dictionary<Category,Array<SubCategory>>() var catandSubCatDict = [Category : Array<SubCategory>]() var catandSubCatDict = [Category : [SubCategory]]()
最后,使用swift词典,您可以使用类作为键 – 您需要做的是使密钥类(代码中的类别)实现Hashable和Equatable协议
以上是大佬教程为你收集整理的ios – 声明NSDictionary并在Swift中添加键值对?全部内容,希望文章能够帮你解决ios – 声明NSDictionary并在Swift中添加键值对?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。