Iphone UINavigationController是否需要?

Iphone UINavigationController是否需要?,iphone,core-data,uinavigationcontroller,tabbar,Iphone,Core Data,Uinavigationcontroller,Tabbar,我是一名初露头角的iphone开发人员,正在尽我所能,但我对UINavigationController有一个疑问 我有一个标签栏应用程序,有3个标签 第一个选项卡有五个UI按钮,每个按钮加载应用程序的不同“部分”,每个部分都有许多视图 其他选项卡只显示一些信息 当用户在我的第一个选项卡上选择任意UIButton时,我使用的是[self.view addSubview:xxxxx] 当用户离开此视图时,我使用[self.view removeFromSuperview] 我的问题是: 这是一

我是一名初露头角的iphone开发人员,正在尽我所能,但我对UINavigationController有一个疑问

我有一个标签栏应用程序,有3个标签

  • 第一个选项卡有五个UI按钮,每个按钮加载应用程序的不同“部分”,每个部分都有许多视图

  • 其他选项卡只显示一些信息

  • 当用户在我的第一个选项卡上选择任意UIButton时,我使用的是[self.view addSubview:xxxxx]

当用户离开此视图时,我使用[self.view removeFromSuperview]

我的问题是:

这是一种糟糕的做事方式吗?我应该使用导航控制器吗?我没有使用它的原因是因为我想要一个定制的UI,而且我知道导航控制器对您的设计有点强制

除此之外,我还将使用核心数据实现持久存储。。。。我实现此应用程序的方式是否会导致核心数据出现问题

任何关于thsi的帮助都将不胜感激

干杯


Tom

首先,如果你不需要导航控制器,那么就不要使用它。你不应该为此感到难过。也就是说,我认为UINavigationController根本不会将特定的UI强加给您。隐藏导航栏并实现您喜欢的任何UI都非常容易。UINavigationController采用的是模块化设计:每个视图都由一个单独的视图控制器管理,占据了整个屏幕。只有您可以回答此设计是否适合您的应用程序。如果是,并且如果您的应用程序是围绕视图层次结构设计的,那么导航控制器可能是一个不错的选择。

首先,如果您不需要导航控制器,那么就不要使用它。你不应该为此感到难过。也就是说,我认为UINavigationController根本不会将特定的UI强加给您。隐藏导航栏并实现您喜欢的任何UI都非常容易。UINavigationController采用的是模块化设计:每个视图都由一个单独的视图控制器管理,占据了整个屏幕。只有您可以回答此设计是否适合您的应用程序。如果是,并且如果您的应用程序是围绕视图层次结构设计的,那么导航控制器可能是一个不错的选择。

正如您所说:当点击五个按钮中的一个时,用户将导航到另一个视图,而这五个按钮将消失。这就是导航控制器的设计目的,它可以帮助您更好地管理内存,而不仅仅是简单地添加和删除视图(取决于添加/删除的视图数量,它可能在性能上也会更好)。正如Ole所指出的那样,NavigationController是高度可定制的,不会带来太多的麻烦

NavigationController为您提供了更大的灵活性:假设您希望在2.0版中点击其中一个按钮后添加另一个层次结构级别。然后您会发现,随着不断向主视图添加视图,主视图将不断增长。UINavigationController使您的代码保持良好的结构,并允许您在以后扩展导航


CoreData非常灵活,与用户界面无关。你不必为此担心

正如您所说:当点击五个按钮中的一个时,用户将导航到另一个视图,而这五个按钮将消失。这就是导航控制器的设计目的,它可以帮助您更好地管理内存,而不仅仅是简单地添加和删除视图(取决于添加/删除的视图数量,它可能在性能上也会更好)。正如Ole所指出的那样,NavigationController是高度可定制的,不会带来太多的麻烦

NavigationController为您提供了更大的灵活性:假设您希望在2.0版中点击其中一个按钮后添加另一个层次结构级别。然后您会发现,随着不断向主视图添加视图,主视图将不断增长。UINavigationController使您的代码保持良好的结构,并允许您在以后扩展导航


CoreData非常灵活,与用户界面无关。你不必为此担心

感谢您的投入,非常有帮助!感谢您的投入,非常有帮助!感谢您的回复,这帮助我了解了导航控制器的需求以及对核心数据的影响!感谢您的回复,这帮助我了解了导航控制器的需求以及对核心数据的影响!