gpt4 book ai didi

objective-c - 访问 NSUserDefaults 时是否需要使用委托(delegate)来维护 MVC 模式?

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

仍在 cs193p 的作业 4 中。 - http://www.stanford.edu/class/cs193p/cgi-bin/drupal/system/files/assignments/Assignment%204_2.pdf

我已经完全(差不多)实现了显示来自地点列表的照片。

我正在添加应用程序的第二个选项卡(所需任务 10 和 11),它会生成并显示按时间顺序查看的 20 张最近照片的列表。

我的问题与 MVC 模式和设置/访问 NSUserdefaults 有关。

基本上,无论何时查看照片,都需要更新存储在 NSUserdefaults 中的属性列表。

选择“最近的照片”选项卡时,需要读取和显示这些值,以便用户可以选择最近查看的照片,然后通过选择它来查看。

我认为我可以通过编写代码行很容易地实现它,并且它可能会起作用。

我看过这个问题:CS193P UITabBarController MVC Help on Assignment 4这有点相关,但并没有真正解决我关于模式性质的更具理论性的问题。

我的问题更多是关于 MVC 模式。

在讲座中,当他用最喜欢的图表演示这一点时,在之前的计算器作业中,他使用委托(delegate)在最喜欢的 ListView Controller 和 graphviewController 之间进行通信(参见第 9 课幻灯片 64 上的图表)。 http://www.stanford.edu/class/cs193p/cgi-bin/drupal/system/files/lectures/Lecture%209_1.pdf

我正在尝试确定是否需要做类似的事情来避免破坏 MVC 模式,或者我是否可以在我的 imageViewController 的 viewWillLoad 中使用 NSUserdefaults 将照片添加到收藏夹,然后在我的收藏夹中使用 NSUserdefaults RecentImagesViewController 中的 setter 。我知道 NSUserdefaults 是为持久化而设计的,感觉有点像我在使用全局变量。

如果您不熟悉 cs193p 类(class),我意识到这个问题的措辞方式很难理解 - 抱歉。

感谢您的任何建议!

最佳答案

我认为您不必将相当简单的东西转化为复杂的东西。您正在使用 NSUserDefaults 存储收藏夹,仅此而已。你使用的地方可能不是最好的(我不是说 viewWillLoad 是一个糟糕的地方,我不知道你的代码),但我认为你不需要委托(delegate)来只需更新 NSUserDefaults。底线,不要忘记 KISS principle . :)

关于objective-c - 访问 NSUserDefaults 时是否需要使用委托(delegate)来维护 MVC 模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10575012/

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