gpt4 book ai didi

ios - 在 Swift 中从子类访问父类属性

转载 作者:行者123 更新时间:2023-11-30 12:08:13 25 4
gpt4 key购买 nike

我有两个ViewController。首先是 MoviesVC,它显示电影列表。第二个是 BookmarkedVC,它显示用户添加书签的电影。

我在 MoviesVC 中有 movies:[Movie] 属性。 Movie 类有一个 bookmark = false 标志来确定电影是否已添加书签。当用户单击单元格上的书签按钮时,我将标志更新为 true

由于 BookmarkedVC 也显示了已添加书签的电影列表,因此我继承了 BookmarkVC: MoviesVC

BookmarkedVC viewWillAppear() 方法中,我通过调用下面的函数来获取添加书签的电影

func loadBookmarkedMovie() -> [Movie] {
let bookmarkedMovies = self.movies.filter { return $0.bookmark == true }
return bookmarkedMovies
}

问题是 self.movi​​esbookmark 仍然是 false,尽管它们已添加书签。

为了确保这一点,我在为一些电影添加书签后,在 MoviesVC 中调用 loadBookmarkedMovie() ,它实际上返回了已添加书签的电影,但在 BookmarkedVC 中> 它返回nil

最佳答案

由于 Inheritance您只能获取 Super Class 的属性( functionsvariables )。

所以如果你继承 MoviesVC 。 。

  1. 现在 BookmarkVCmovies:[Movie] (假设 movies 在声明时已初始化)。
  2. 所有 bookmark == false (默认 false 因为您尚未在 BookmarkVC 中更新书签)

所以。 。 func loadBookmarkedMovie() 肯定会返回 nil 。要将数据从 MoviesVC 传递到 BookmarkedVC,您只需使用 SegueDelegate .

关于ios - 在 Swift 中从子类访问父类属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46418274/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com