在 convenience init 中创建数组
Create array in convenience init
我现在正在学习 S.O.L.I.D 从书 iOS Big Nerd Ranch 编程。我想从 convenience init 创建一个数组,但我有一个问题,我想像数组的确切顺序一样显示文本和图像,但我不知道如何。在这里我给你看我的代码
这是我的商品class
class Item: NSObject {
var imageName: String
var label: String
init(imageName: String, label: String) {
self.imageName = imageName
self.label = label
super.init()
}
convenience init(list: Bool = false) {
if list {
let imageList = ["milada-vigerova", "david-rodrigo", "quran"]
let labelList = ["Fiqih", "Hadist", "Tafsir"]
let sortImageName = imageList[imageList.count - 1]
let sortLabel = labelList[labelList.count - 1]
self.init(imageName: sortImageName, label: sortLabel)
} else {
self.init(imageName: "", label: "")
}
}
}
这是我的 ItemStore class,它从项目 class
创建了一个数组
class ItemStore {
var allItems = [Item]()
@discardableResult func createItem() -> Item {
let newItem = Item(list: true)
allItems.append(newItem)
return newItem
}
// I make this for in loop to make the table view numberOfSection will return 3 of an allItems
init() {
for _ in 0..<3 {
createItem()
}
}
}
请帮帮我
天哪,这真是 书呆子 和繁琐的代码。
首先一个结构就足够了,你可以免费得到初始化器
struct Item {
let imageName: String
let label: String
}
在ItemStore
中立即创建数组
class ItemStore {
var allItems = [Item]()
func createArray() {
allItems = [Item(name: "Fiqih", image: "milada-vigerova"),
Item(name: "Hadist", image: "david-rodrigo"),
Item(name: "Tafsir", image: "quran")]
}
}
在 table 视图中 return allItems.count
在 numberOfRows
中(不是 numbersOfSection
)
我现在正在学习 S.O.L.I.D 从书 iOS Big Nerd Ranch 编程。我想从 convenience init 创建一个数组,但我有一个问题,我想像数组的确切顺序一样显示文本和图像,但我不知道如何。在这里我给你看我的代码
这是我的商品class
class Item: NSObject {
var imageName: String
var label: String
init(imageName: String, label: String) {
self.imageName = imageName
self.label = label
super.init()
}
convenience init(list: Bool = false) {
if list {
let imageList = ["milada-vigerova", "david-rodrigo", "quran"]
let labelList = ["Fiqih", "Hadist", "Tafsir"]
let sortImageName = imageList[imageList.count - 1]
let sortLabel = labelList[labelList.count - 1]
self.init(imageName: sortImageName, label: sortLabel)
} else {
self.init(imageName: "", label: "")
}
}
}
这是我的 ItemStore class,它从项目 class
创建了一个数组class ItemStore {
var allItems = [Item]()
@discardableResult func createItem() -> Item {
let newItem = Item(list: true)
allItems.append(newItem)
return newItem
}
// I make this for in loop to make the table view numberOfSection will return 3 of an allItems
init() {
for _ in 0..<3 {
createItem()
}
}
}
请帮帮我
天哪,这真是 书呆子 和繁琐的代码。
首先一个结构就足够了,你可以免费得到初始化器
struct Item {
let imageName: String
let label: String
}
在ItemStore
中立即创建数组
class ItemStore {
var allItems = [Item]()
func createArray() {
allItems = [Item(name: "Fiqih", image: "milada-vigerova"),
Item(name: "Hadist", image: "david-rodrigo"),
Item(name: "Tafsir", image: "quran")]
}
}
在 table 视图中 return allItems.count
在 numberOfRows
中(不是 numbersOfSection
)