【发布时间】:2017-09-26 05:14:04
【问题描述】:
我有两个ViewControllers。首先是MoviesVC,它显示了电影列表。第二个是BookmarkedVC,显示用户收藏的电影。
我在MoviesVC 中有movies:[Movie] 属性。 Movie 类有一个 bookmark = false 标志来确定电影是否被加入书签。当用户单击单元格上的书签按钮时,我将标志更新为true。
由于BookmarkedVC 也显示书签电影列表,我继承BookmarkVC: MoviesVC。
在BookmarkedVCviewWillAppear()方法中,我通过调用下面的函数来获取书签的电影
func loadBookmarkedMovie() -> [Movie] {
let bookmarkedMovies = self.movies.filter { return $0.bookmark == true }
return bookmarkedMovies
}
问题是bookmark 中的self.movies 仍然是false,尽管它们被添加了书签。
为了确保,在我为一些电影添加书签后,我在MoviesVC 中调用loadBookmarkedMovie(),它实际上返回了添加书签的电影,但在BookmarkedVC 中它是return nil
【问题讨论】:
-
您是否确认当您与单元格交互时,您的 MoviesVC 中的书签属性实际上正在发生变化?
-
我可以假设
movies在声明时已初始化吗? -
是的,属性已更改。我通过在
viewWillAppear()中的数组上调用过滤器方法来检查它 -
@Roy 电影被声明为 ?并从服务器下载电影 json。
标签: ios arrays swift inheritance