2017-06-27 8 views
0

Ich habe eine Struktur in einer Klasse:Wie man Elemente in der Struktur wiederholt?

class ShoppingItems : NSObject 
{ 
    struct historyLists { 
     var id: String 
     var name: String 
     var description: String 
     var itemCount: Int 
     var date: String 
     var img: String 
     var marktName: String 
     var price: Float 
     var productsOnList = [items]() 
    } 

    struct items { 
     var id: String 
     var quantity: Int 
    } 
} 

Jetzt anhängen ich ein paar Sachen:

var myStructHistoryItemLists = [historyLists]() 

myStructHistoryItemLists.append(historyLists(id: "l1", name: "NAME1", description: "DESC1", itemCount: 10, date: "22.02.2014", img: "IMG1", marktName: "marktNAME", price: 22.50, productsOnList: [ 
     items(id: "p1", quantity: 11), 
     items(id: "p2", quantity: 1), 
     items(id: "p3", quantity: 5) 
    ] 
)) 

myStructHistoryItemLists.append(historyLists(id: "l2", name: "NAME2", description: "DESC2", itemCount: 5, date: "10.01.2017", img: "IMG2", marktName: "marktNAME2", price: 22.50, productsOnList: [ 
     items(id: "p4", quantity: 11), 
     items(id: "p5", quantity: 1), 
     items(id: "p6", quantity: 5), 
     items(id: "s1", quantity: 5) 
    ] 
)) 

ist meine Frage, wie kann ich die Elemente in einer Schleife aus einem Array anhängen?

myStructHistoryItemLists.append(historyLists(id: "l3", name: "NAME3", description: "DESC3", itemCount: otherItemsArray.count, date: "10.01.2017", img: "IMG3", marktName: "marktNAME3", price: 22.50, productsOnList: [ 
     for items in otherItemsArray .... 
     items(id: otherItemsArray[item].id, quantity: otherItemsArray[item].quantity), 
    ] 
)) 

Und wie kann ich von einer anderen Klasse darauf zugreifen?

Dank

+1

Erstellen Sie das Elementarray, bevor Sie myStructHistoryItemLists.append (...) aufrufen. dann ordne es einfach zu. – CoderFrom94

Antwort

2

Wenn otherItemsArray ein Array von items ist, dann alles, was Sie tun müssen, ist Ihre Array für die productsOnList Parameter zu übergeben.

let historyList = historyLists(
    id: "l3", name: "NAME3", 
    description: "DESC3", 
    itemCount: otherItemsArray.count, 
    date: "10.01.2017", img: "IMG3", 
    marktName: "marktNAME3", 
    price: 22.50, 
    productsOnList: otherItemsArray 
) 
myStructHistoryItemLists.append(historyList) 

Auch die Art, wie Sie Ihre Strukturen benennen, ist falsch. Sie sollten singulär sein und mit einem Großbuchstaben beginnen (HistoryList und Item).

+0

Vielen Dank! Es ist so verdammt einfach;) (thx, ich werde die Strukturen umbenennen!) – silazzz

Verwandte Themen