2017-02-24 56 views
0

我沒有保存價值,被稱爲 var testing:[Test]? 對象映射器通過使用此代碼從數組保存到另一個陣列 - 斯威夫特3

let test: Test = Test()! 


var i = 0 
    while i < self.array.count{ 
     let test: Test = Test()! 
     test.userId = self.array[i] 
     print(test.userId) 
     test.firstName = self.array[i+1] 
     test.lastName = self.array[i+2] 
     test.img1 = self.array[i+3] 
     test.img2 = self.array[i+4] 
     test.img3 = self.array[i+5] 
     test.featuredImg1 = self.array[i+6] 
     test.url1 = self.array[i+7] 
     test.featuredImg2 = self.array[i+8] 
     test.url2 = self.array[i+9] 
     test.featuredImg3 = self.array[i+10] 
     test.url3 = self.array[i+11] 
     test.userId2 = self.array[i+12] 
     test.firstName2 = self.array[i+13] 
     test.lastName2 = self.array[i+14] 
     test.img4 = self.array[i+15] 
     test.img5 = self.array[i+16] 
     test.img6 = self.array[i+17] 
     test.featuredImg4 = self.array[i+18] 
     test.url4 = self.array[i+19] 
     test.featuredImg5 = self.array[i+20] 
     test.url5 = self.array[i+21] 
     test.featuredImg6 = self.array[i+22] 
     test.url6 = self.array[i+23] 

     i = i + 24 


     testing?.append(test) 

    } 
    print(testing?.count) 

這是行不通的。 test.userId打印在循環內給出一個值,但是當我打印計數值爲零時,顯然這些值未被正確保存。

+0

沒有testing'陣列的'宣言還'let test:Test = Test()!'應該在for循環中。 –

+0

頁面頂部的測試聲明:var testing:[Test]? –

+0

那個測試數組是測試數組嗎?並且你是否在for循環的底部附加了測試數據?我們可以看到整個循環,如果可能 – theduman

回答

1

我不知道變量s是有關你的問題,但我認爲它應該像這樣工作

var testing:[Test]? 

for i in 0 ..< self.array.count{ 

    let test: Test = Test() 
    test.userId = self.array[0] as! String? 
    print(test.userId) 
    test.firstName = self.array[1] as! String? 
    test.lastName = self.array[2] as! String? 
    test.img1 = self.array[3] as! String? 
    test.img2 = self.array[4] as! String? 
    test.img3 = self.array[5] as! String? 
    test.featuredImg1 = self.array[6] as! String? 
    test.url1 = self.array[7] as! String? 
    test.featuredImg2 = self.array[8] as! String? 
    test.url2 = self.array[9] as! String? 
    test.featuredImg3 = self.array[10] as! String? 
    test.url3 = self.array[11] as! String? 
    test.userId2 = self.array[12] as! String? 
    test.firstName2 = self.array[13] as! String? 
    test.lastName2 = self.array[14] as! String? 
    test.img4 = self.array[15] as! String? 
    test.img5 = self.array[16] as! String? 
    test.img6 = self.array[17] as! String? 
    test.featuredImg4 = self.array[18] as! String? 
    test.url4 = self.array[19] as! String? 
    test.featuredImg5 = self.array[20] as! String? 
    test.url5 = self.array[21] as! String? 
    test.featuredImg6 = self.array[22] as! String? 
    test.url6 = self.array[23] as! String? 

    self.s = self.s! + 24 

    //this is where your array is filled with test data. 
    testing.append(test) 

} 

測試類:

class Test 
{ 
    var userId: String? 
    var firstName: String? 
    var lastName: String? 
    var img1: String? 
    var img2: String? 
    var img3: String? 
    var featuredImg1: String? 
    var url1: String? 
    var featuredImg2: String? 
    var url2: String? 
    var featuredImg3: String? 
    var url3: String? 
    var userId2: String? 
    var firstName2: String? 
    var lastName2: String? 
    var img4: String? 
    var img5: String? 
    var img6: String? 
    var featuredImg4: String? 
    var url4: String? 
    var featuredImg5: String? 
    var url5: String? 
    var featuredImg6: String? 
    var url6: String? 

    init() { 

    } 


} 
+0

沒有工作。我不知道問題是否在保存值。 –

+0

你確定你的self.array不是空的,你的測試變量獲得正確的數據嗎? – theduman

+0

數組是空的,我再次檢查並且tests.append(test)沒有保存這些值。 –