구조체를 생성했는데 데이터로 채 웁니다.Swift3을 사용하여 NSMutableArray의 데이터를 구조체에 채우는 방법
내 구조체 :
struct CrimeNameSection {
var firstChar: Character
var name: [String]
var detail: [String]
var time: [String]
init(firstLetter: Character, object1: [String], object2: [String], object3: [String]) {
firstChar = firstLetter // First letter of 'name'
name = object1
detail = object2
time = object3
}
내 구조체 ('firstChar')의 첫 번째 값이있는 tableView에서 알파벳 섹션을 만드는 '이름'의 첫 글자를 보유해야, 나머지 ('이름', ' 세부 사항 ','시간 ') 내 데이터베이스에서 데이터를 보유해야합니다 (3 열 : 이름, 세부 사항, 시간).
내 코드 :
var marrCrimesData : NSMutableArray! // Hold the database
func getSectionsFromData() -> [CrimeNameSection] {
guard marrCrimesData != nil else {
return []
}
var sectionDictionary = [CrimeNameSection]()
for crime in marrCrimesData {
let crime = crime as! CrimesInfo
let firstChar = CrimeNameSection(firstLetter: crime.name[crime.name.startIndex], object1: [crime.name], object2: [crime.detail], object3: [crime.time])
if var names = firstChar {
names.append(crime.name)
sectionDictionary[firstChar] = names
} else {
sectionDictionary[firstChar] = [crime.name]
}
}
let sections = sectionDictionary.map { (key, value) in
return CrimeNameSection(firstLetter: key, name: value)
}
let sortedSections = sections.sorted { $0.firstLetter < $1.firstLetter }
return sortedSections
}
내가 내 구조체 내부의 데이터를 저장 도움이 알파벳순으로 정렬 할 필요가 사방에 오류를 얻을. 키가 문자열 인 경우 당신이 당신이 예를 들어, 키를 지정할 수도 있습니다 사전에 대한 사전
var sectionDictionary = [CrimeNameSection]() // Here you are init an Array
처럼 그 위에 배열을 인스턴스화 매핑 할 수있는 모든의 모든
어떤 종류의 오류가 있습니까? – Robert