gpt4 book ai didi

ios - 如果我的 iOS 应用程序不使用 10 个以上的 View Controller ,该怎么做

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

因此,经过长时间的反复试验,我的应用程序中的用户现在可以从第一个和根 Viewcontroller1 中选择一行。当他这样做时,第二个 Viewcontroller2 打开并替换屏幕上的第一个。很高兴我能走到这一步,为此我使用了 NavigationController。

当用户选择一行时,我希望第二个 Viewcontroller2 显示有关选择的详细信息。例如,当您选择一头奶牛时,您会得到一张奶牛的图片 + 解释。当您选择一匹马时,同样的设置,但有不同的图片和解释。

为每只动物创建另一个 View Controller 似乎是不好的做法。我该如何解决这个问题?我听说过一些关于使用 View 的事情?

我知道我将不得不添加一些数组等,因为有多个行,但我会自己解决这个问题。

感谢您阅读本文。

最佳答案

你正处于理解的边缘

When the user selects a row I want the second Viewcontroller2 to display details about the selection.

好的。好的。您已经确定您需要第二个 View Controller 并且它应该负责显示详细信息。

For example when you select a cow you get a picture of a cow + an explanation. When you select a horse the same set-up but with another picture and explanation.

非常好。您注意到每个人都有相同的设置。而且您还意识到在单独的 View Controller 中一遍又一遍地重复这项工作是愚蠢的。

您需要单独保存有关动物的信息,并以类似的方式构建它们。这称为模型。例如。您可以创建一个具有名称属性和图片属性的动物类。

@interface Animal : NSObject
@property (nonatomic, copy) NSString * name;
@property (nonatimic, strong) UIImage * picture;
@end

然后要显示任何动物,您只需制作一个 View Controller ,它知道如何从您的模型(您的类似结构化数据)中获取信息并在其 View 中填写信息。

使用我们的示例,我们可能会在 View Controller 中看到这段代码

-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];

...

Animal * animalToDisplay = ...
self.imageView.image = animalToDisplay.picture;
self.nameLabel.text = animalToDisplay.name;

animalToDisplay 对象将由之前的 Controller 提供给第二个 Controller ,可能是在点击对应于动物的单元格或按钮时。此 View Controller 可以显示来自任何 Animal 对象的数据。

关于ios - 如果我的 iOS 应用程序不使用 10 个以上的 View Controller ,该怎么做,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16951650/

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