iPhone应用程序中退出时结束时出现运行时错误
Posted
技术标签:
【中文标题】iPhone应用程序中退出时结束时出现运行时错误【英文标题】:Runtime error on Did End On Exit in iPhone application 【发布时间】:2012-09-18 08:59:45 【问题描述】:有谁知道为什么当我点击 iphone 键盘上的返回按钮时出现运行时错误。完成对 UITextField 的值编辑后,我需要隐藏键盘。所以我将退出时结束时分配给 IBAction 和下面的 IBAction 代码
-(IBAction)FinishEditing:(id)sender
[folderName resignFirstResponder];
在运行 ma 项目时,我面临运行时错误和如下所示的变量值
argv char ** 0xbffff58c
*argv char * 0xbffff6b8
**argv char '/'
控制台价值
(lldb)
有解决这个问题的办法吗??
【问题讨论】:
变量值如下所示 argv char ** 0xbffff58c *argv char * 0xbffff6b8 **argv char '/' 控制台值(lldb) 确保folderName
不为零
ys Maulik 提交的文本不是空的。它有一些价值
nil 表示检查您的 textField 对象,它的 IBOutLet 应该正确连接... nil 并不意味着 empty。 folderName
是您的 textField
对象,因此请检查它不应为 nil。
developer.apple.com/library/mac/#recipes/… 使用此链接获取准确的错误点。添加异常断点。希望您能在代码中找到错误点。
【参考方案1】:
根据您的问题,您想在 返回按钮点击 keyboard
时隐藏 keyboard
。所以没有必要为此做任何按钮操作。你可以通过UITextField
委托方法来做到这一点。在ViewController.h
文件中添加UITextFieldDelegate
,然后在ViewController.m
文件中简单地编写以下方法:-
-(BOOL)textFieldShouldReturn:(UITextField *)textField
[textField resignFirstResponder];
return YES;
它会在return button
点击keyboard
时返回。
【讨论】:
Vakul 我对上面的代码有疑问..你能帮我清除一下吗..上面的函数的返回类型是 bool 那么我如何将它连接到“退出时结束”。我认为它需要一个 IBAction 功能.. 我是对的吗?? "Did End On Exit" 这是什么意思?【参考方案2】:您可以使用文本字段委托方法来执行此过程。无需为此使用固定 IBActions
– textFieldShouldBeginEditing:
– textFieldDidBeginEditing:
– textFieldShouldEndEditing:
– textFieldDidEndEditing:
请参考this 和
This is a nice tutorial
【讨论】:
【参考方案3】:感谢大家帮助我。终于解决了我的问题。。
最初我的代码是这样的
AddFolder *addButton = [[AddFolder alloc] initWithNibName:@"AddFolder" bundle:[NSBundle mainBundle]];
[self.view addSubview:addButton.view];
[addButton release];
现在ma码是这样的
AddFolder *addButton = [[AddFolder alloc] initWithNibName:@"AddFolder" bundle:[NSBundle mainBundle]];
[self.view addSubview:addButton.view];
添加子视图后我们不需要释放内存。
【讨论】:
以上是关于iPhone应用程序中退出时结束时出现运行时错误的主要内容,如果未能解决你的问题,请参考以下文章
将应用程序从 Android Studio 部署到 iPhone 时出现 Flutter 错误
使用 Xcode 7、iOS 9 运行项目时出现“应用程序窗口应在应用程序启动结束时具有根视图控制器”错误
尝试为 iphone 快速构建 tableView 时出现错误