다음은 내가하려는 일입니다.신속한 문제 - 사전에 배열을 초기화하고 추가 할 때 발생하는 문제
나는 ArticleItem 개체 배열로 시작하고 있습니다. 이러한 객체에는 문자열 인 'category'라는 속성이 있습니다. 나는 모든 ArticleItem 객체를 반복하고 사전에있는 카테고리와 같은 항목을 그룹화하려고합니다. 카테고리 이름을 키로 사용하고 있습니다. 내가 가지고있는 문제는 내 사전 키가 하나 이상의 객체를 포함하지 않는 홀드 배열이라는 것입니다. 동일한 카테고리 이름을 가진 3 개 이상의 오브젝트가 있습니다. 내 수업의 관련 코드는 다음과 같습니다. 이 작업을 수행하는 올바른 방법을 이해하고 싶습니다.
private var _articlesDict:[String:[ArticleItem]]
init(articles:[ArticleItem]) {
_articlesDict = [String:[ArticleItem]]()
for item:ArticleItem in articles {
var optionalCatArray:[ArticleItem]? = _articlesDict[item.category]
if let catArray = optionalCatArray {
optionalCatArray!.append(item) //why can't I do catArray.append(item)?
} else {
var arr:[ArticleItem] = [ArticleItem]()
arr.append(item)
_articlesDict[item.category] = arr
}
}
}