我正在开发我的第一个 iPhone 应用程序,并在我的代码中偶然发现了一个未知错误。代码工作得很好,但问题在于当我点击我制作的自定义 UIButton 并加载下一个视图时。我有一个期望的 buttonPressed IBAction 被调用来处理下一个视图控制器上加载的信息,但是函数调用的顺序是错误的。我有 5 个不同的 buttonPressed 功能,5 个中有 3 个工作正常。请注意,我通过 Storyboard 以完全相同的方式实现了它们,甚至尝试重新制作不工作的那些。我会发布代码,但代码是基本的 if/else 语句。我只是不确定为什么 5 种方法中有 3 种会起作用,而另外 2 种不会。任何帮助将不胜感激。
**这是工作 3 所需的顺序:
viewDidLoad -> 加载主屏幕(初始视图控制器 AKA ROOT,在主屏幕上,您有 5 个 UIButtons 来选择一个类别,点击一个按钮以加载到新的视图控制器)
categoryButtonPressed -> 设置计数器(新视图控制器的序列)
viewDidLoad -> 加载屏幕以缩小搜索范围
(现在您有 10 多个自定义按钮可以点击,每个按钮都将通过 buttonPressed IBAction 函数进行处理,一旦点击按钮并调用函数,就会加载一个新视图)
buttonPressed -> 设置计数器(新视图控制器的序列)
viewDidLoad -> 加载正确的信息
这是非工作 2 的顺序:
viewDidLoad -> 加载主屏幕(初始视图控制器 AKA ROOT)(在主屏幕上,您有 5 个 UIButtons 来选择一个类别,点击一个按钮以加载到新的视图控制器)
categoryButtonPressed -> 设置计数器(新视图控制器的序列)
viewDidLoad -> 加载屏幕以缩小搜索范围(现在您有 10 多个自定义按钮可以点击,每个按钮都将通过 buttonPressed IBAction 函数进行处理,一旦点击按钮并调用函数,就会加载一个新视图)
viewDidLoad -> 加载空白信息(空白屏幕)
buttonPressed -> 设置计数器,但由于视图已经加载为空白而迟到
想法?**
这是 categoryButtonPressed 的示例:
-(IBAction)categoryButtonPressed:(id)sender
{
if([sender tag] == 1)
counter = 1;
else if([sender tag] == 2)
counter = 2;
.
.
.
}
注意:我为要加载的特定项目标记了每个自定义按钮。此函数只是设置一个计数器,以便另一个函数可以加载特定文件。