2015-12-08 3 views
1

Я пытаюсь заполнить таблицу секциями и строками на основе срезов массива. Я получаю "Не удается вызвать инициализатор для типа„Объекты“с и список аргументов типа '(имя раздела: String, sectionObjects: ArraySlice). Хотите знать, если кто-то может пролить некоторый свет на то, что я отсутствующее СпасибоЗаполнение таблицы секциями и строками из массивов массивов

let dateFormatter = NSDateFormatter() 
dateFormatter.dateFormat = " eee, MMM dd, yyyy " 
let today = (NSDate()) 
let comps : NSCalendarUnit = NSCalendarUnit.Day 
let cal = NSCalendar.currentCalendar() 
let todaysDate = cal.startOfDayForDate(today) 
var dateRange = [String]() 

var dates = [String]() 
var displayMe = [String]() 

for i in 0 ... 179 { 


let day = dateFormatter.stringFromDate(cal.dateByAddingUnit(comps, value: +i, toDate: todaysDate, options: [])!) 

dates += [day] 

} 

for (index, value) in dates.enumerate() { 
var testMe = ("Day \(index + 1) - \(value)") 
print(testMe) 

displayMe += [testMe] 


} 



let datesOneRange = displayMe[0...13] 
let datesFifteenRange = displayMe[14...28] 
let datesThrityRange = displayMe[29...58] 
let datesSixtyRange = displayMe[59...88] 
let datesNinetyRange = displayMe[89...99] 
let datesOneHunEighty = displayMe[100...179] 




var dateDict = [ " 5 Days" : datesOneRange, 
" 14 Days" : datesFifteenRange, 
" 30 Days" : datesThrityRange, 
" 60 Days" : datesSixtyRange, 
" 90 Days" : datesNinetyRange, 
"180 Days" : datesOneHunEighty] 

struct Objects { 

var sectionName : String! 
var sectionObjects : [String]! 
} 

var objectArray = [Objects]() 



for (key, value) in dateDict { 
    print("\(key) -> \(value)") 
    objectArray.append(Objects(sectionName: key, sectionObjects:  value)) 
} 

ответ

1
..

Вы можете привести объект ArraySlice к объекту Array, с помощью Array(ArraySlice)

Вот ваш обновленный код:

func test(){ 
     let dateFormatter = NSDateFormatter() 
     dateFormatter.dateFormat = " eee, MMM dd, yyyy " 
     let today = (NSDate()) 
     let comps : NSCalendarUnit = NSCalendarUnit.Day 
     let cal = NSCalendar.currentCalendar() 
     let todaysDate = cal.startOfDayForDate(today) 

     var dates = [String]() 
     var displayMe = [String]() 

     for i in 0 ... 179 { 
      let day = dateFormatter.stringFromDate(cal.dateByAddingUnit(comps, value: +i, toDate: todaysDate, options: [])!) 
      dates += [day] 
     } 

     for (index, value) in dates.enumerate() { 
      let testMe = ("Day \(index + 1) - \(value)") 
      print(testMe) 
      displayMe += [testMe] 
     } 



     let datesOneRange = displayMe[0...13] 
     let datesFifteenRange = displayMe[14...28] 
     let datesThrityRange = displayMe[29...58] 
     let datesSixtyRange = displayMe[59...88] 
     let datesNinetyRange = displayMe[89...99] 
     let datesOneHunEighty = displayMe[100...179] 




     let dateDict = [ " 5 Days" : datesOneRange, 
      " 14 Days" : datesFifteenRange, 
      " 30 Days" : datesThrityRange, 
      " 60 Days" : datesSixtyRange, 
      " 90 Days" : datesNinetyRange, 
      "180 Days" : datesOneHunEighty] 

     struct Objects { 
      var sectionName : String! 
      var sectionObjects : [String]! 
     } 

     var objectArray = [Objects]() 

     for (key, value) in dateDict { 
      print("\(key) -> \(value)") 
      objectArray.append(Objects(sectionName: key, sectionObjects:Array(value))) 
     } 
    } 
Смежные вопросы