我有一個類型的變量string, [int], bool
如何根據條件存儲數組值?
var books:[String] = ["Hobbit","LOTR","Fellowship"]
var chaptersToRead:[[Int]] = [[1],[1,3],[2,3]]
var read:[Bool] = [false,true,true]
我有功能display()
,這樣我可以看到所有的書細節單獨
func display() -> [[Any]] {
var output = [[Any]]()
for i in 0..<books.count {
output.append([books[i], chaptersToRead[i], read[i]])
}
return output
}
我喜歡根據病情存儲在兩個數組的書籍值if chaptersToRead = 1
,如下
var booksAssigned:[String] = ["Hobbit","LOTR"]
var readStatus:[Bool] = [false,true]
我試圖讓上述結果b Ÿ正在執行以下以下不起作用的內容。我究竟做錯了什麼?
var booksAssigned:[String] = []
var readStatus:[Bool] = []
for (index, books) in display().enumerated()
{
if chaptersToRead.joined().contains(1)
{
//I am getting signal SIGABRT error here
booksAssigned = books as! [String]
}
}
for (index, status) in display().enumerated()
{
if chaptersToRead.joined().contains(1)
{
//I am getting signal SIGABRT error here
readStatus = status as! [Bool]
}
}
這是一個不適當的數據結構 - 您應該使用結構數組來代替。 – Hamish
嘗試使用結構作爲數據類型:結構圖書{ 讓名:字符串 VAR章節:[INT] VAR isRead:BOOL } –
所以我應該用結構來開始? – Coder221