2017-02-24 15 views
0

ich Wert auf ein Objekt Mapper var testing:[Test]? Durch die Nutzung dieser Codevon Array zu einem anderen Array Speichern - Swift 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) 

Was nicht funktioniert genannt gespeichert haben. test.userId print gibt einen Wert innerhalb der Schleife aus, aber wenn ich die Anzahl ausdrücke, ist der Wert Null, anscheinend werden die Werte nicht korrekt gespeichert.

+0

Es gibt keine Erklärung von 'testing' Array 'let test: Test = Test()!' sollte innerhalb der for-Schleife sein. –

+0

Erklärung der Tests am Anfang der Seite: var test: [Test]? –

+0

Ist das Test-Array ein Test-Array? und fügen Sie Testdaten am Ende der for-Schleife an? Können wir die ganze for-Schleife sehen, wenn möglich – theduman

Antwort

1

Ich weiß nicht, Variable s ist mit Ihrem Problem relevant, aber ich denke, es ist wie diese

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) 

} 

Testklasse funktionieren soll: auch

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

Hat nicht funktioniert. Ich weiß nicht, ob das Problem darin besteht, die Werte zu speichern. –

+0

Sind Sie sicher, dass Ihr self.array nicht leer ist und Ihre Testvariable die richtigen Daten erhält? – theduman

+0

Das Array ist leer, ich habe es erneut überprüft und testing.append (test) speichert die Werte nicht. –

Verwandte Themen