我有一个类型的变量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