arrays - 为什么我不能在 Swift 中使用数组的 append()?

标签 arrays swift struct append

我得到一个:无法使用类型为“([Book])”的参数列表调用“append” 如果我使用 += 它可以找到但我不明白为什么 append() 不起作用。

struct Book
{
    var title:String
    var pageCount:Int
}

class Library
{
    var onShelfBooks:[Book] = []
    var onLoanBooks:[Book] = []
    var books:[Book]
    {
        get
        {
            return onShelfBooks + onLoanBooks
        }

        set(newBook)
        {
            onShelfBooks.append(newBook)
        }
    }
}

最佳答案

struct Book
{
    var title:String
    var pageCount:Int
}

class Library
{
    var onShelfBooks:[Book] = []
    var onLoanBooks:[Book] = []
    var books:[Book]
    {
        get
        {
            return onShelfBooks + onLoanBooks
        }

        set(newBook)
        {
            onShelfBooks.append(newBook[0])
        }
    }
}

var myLibrary = Library()

var newBook = Book(title: "Swift Development with Cocoa", pageCount: 453)

myLibrary.books = [newBook]

myLibrary.books

关于arrays - 为什么我不能在 Swift 中使用数组的 append()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31013209/

相关文章:

javascript - jQuery - $.extend deep 丢失对数组的引用

javascript - 使用 JSON 数据填充选择选项

c++ - 初始化并访问<QVector< QVector<int>> QT5

ios - 无法重新加载 TableView

swift - UICollectionView cellForItemAt 未第二次调用

pointers - 使用接口(interface)时操作结构字段

java - 如何对数组中的对象进行比较和排序

cocoa - Swift 中的数组如何知道它是否包含元素?

c++ - 如何访问另一个源文件中 'struct' 的静态成员

objective-c - iOS 中带有结构的 XML-RPC 请求