【发布时间】:2014-09-24 18:02:25
【问题描述】:
我一直在尝试使用类类型键和值声明一个 NSDictionary,如下所示:
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
}
感谢您的回答,
最好的问候
【问题讨论】: