欢迎来到 swift user1263909
如何创建字符串数组
let stringArray = [String]()
如何用字符串字面量创建一个字符串数组
let categoryStringArray = ["Category1", "Catagory2", "Catagory3"]
如何创建字符串数组的数组
let arrayOfArray = [[String]]()
如何创建字符串数组字面量数组
let a = [["Category1", "Catagory2", "Catagory3"],["product1", "product2", "product3"]]
访问“Catagory3”
a[0][2]
然而,这一切都会很快变得复杂。为什么不使用一些结构?
struct Product {
var name:String
var description:String
var price:Double
//ect...
}
使用struct封装数据,方便使用
let p1 = Product(name: "hat", description: "a hat", price: 2.00)
让我们创建一个结构数组。
let arrOfProduct = [p1,Product(name: "tie", description: "a bow tie", price: 5.00)]
arrOfProduct 现在有两个结构,一个 tie 和一个 hat。
如何获取帽子的价格
arrOfProduct[0].price
哦,我们也可以有一个用于分类的结构,它可以包含产品作为一个数组
struct Category {
var name:String
var products:[Product]
}
让我们为衣服创建一个类别。
let clothes = Category(name: "Clothing", products: arrOfProduct)
让我们创建另一个类别
let food = Category(name: "Food", products: [Product(name: "Candy", description: "Yummy Candy", price: 2.0)])
最后我们可以有一个类别数组
let arrC = [clothes,food]
现在我可以遍历第一个表格视图中的所有类别来填写单元格名称
for c in arrC{
print(c.name)
}
当您切换到新的视图控制器时,将正确的产品数组传递给它
let productsClicked = arrC[0].products
然后在新的视图控制器上循环产品
for p in productsClicked{
print(p.name)
}
如果他们单击产品,则将产品传递给下一个视图控制器,依此类推。
当您有新的需求时,这将更容易维护。
祝你好运,欢迎来到斯威夫特。 :D