我正在尝试使用alertviewstyle
来使用用户输入的文本。
当我在不改变风格的情况下显示alertview
时,它会起作用。
当我将样式更改为UIAlertViewStylePlainTextInput
时,我收到此错误:
错误:地址不包含指向目标文件中某个部分的部分。
我使用以下代码:
nameAlertView =
[[UIAlertView alloc] initWithTitle:[langFile objectForKey:@"sequenceTitel"]
message:[langFile objectForKey:@"sequenceTitel"]
delegate:self
cancelButtonTitle:[langFile objectForKey:@"cancel"]
otherButtonTitles:[langFile objectForKey:@"save"], nil];
nameAlertView.alertViewStyle = UIAlertViewStylePlainTextInput;
[nameAlertView show];
[nameAlertView release];
修改
我正在使用iOS 5.1,我从调试器得到了以下反馈:
培训工具(2332,0x3f080d98)malloc: * mmap(size = 1342177280)失败(错误代码= 12) 错误:无法分配区域 * *在malloc_error_break中设置断点以进行调试
这很奇怪,因为有时它在我的视图中完成相同的动作时起作用
答案 0 :(得分:0)
当你在调试器中断时,你会发现对象是什么。只需查看调用堆栈,您就会找到释放(或释放)它的位置。这将告诉你它是哪个对象。
设置断点的最简单方法是:
Goto Run -> Show -> Breakpoints (Alt-Command-B)
Scroll to the bottom of the list and add the symbol malloc_error_break
答案 1 :(得分:0)
我在将部署目标设置为4.X时遇到了同样的问题,因为此样式属性仅在ios5中受支持。即使您的设备是ios 5.1,也要确保“部署目标”为5.1。
答案 2 :(得分:0)
显示后不要立即释放UIAlertView。请在委托回调中释放它。
答案 3 :(得分:0)
我今天遇到了同样的问题,我搜索了this thing,它解决了我的问题,希望你能回答混乱。 这意味着因为在设置alert.alertviewstyle之前,键盘打开导致问题,当我在设置alertviewstyle之前关闭键盘时,它是正常的。 这是iOS 9之前的一个bug,iOS 9修复它。