私はカスタムクラス「ブック」を持っていると私は、次のように配列内の2冊を保存しようとしています:追加しようとすると、Arrayのオブジェクトの値が変わるのはなぜですか?
class ViewController: UIViewController, UITableViewDataSource,
{
testBook.setBookTitle(title: "Harry Potter")
testBook.setbookPage(page: 12)
myBookCollection.append(testBook)
// testBook = Book()
testBook.setBookTitle(title: "testing")
testBook.setbookPage(page: 66)
myBookCollection.append(testBook)
for books in myBookCollection
{
print(books.getBookTitle())
}
}
私が実行している場合は、アレイ内の上記Iの私の本がテスト」[として保存されます"、" testing "] [" Harry Potter "、" testing "]とは対照的です。
しかし、私がtestbook = Book()のコメントを外すとうまくいきます。誰かがなぜこれが事実であるか説明してもらえますか?配列は、あなたのBook
インスタンスのコピーを保持していない
ちょうど理解するために、なぜstructの代わりにクラスを使用するのですか? – Nant
[この質問](http://stackoverflow.com/questions/24232799/why-choose-struct-over-class-class/24232845)には、それぞれの長所と短所についての議論があります –