【问题标题】:App crash in button按钮中的应用程序崩溃
【发布时间】:2012-07-11 09:00:43
【问题描述】:

我在 UIButton 上遇到了奇怪的问题。

当我点击按钮时,应用程序崩溃了。

我为此编写了以下代码...

 -(IBAction)renameTest:(id)sender
{

  NSLog(@"Tapped");

    // UIButton *button = (UIButton *)sender;
NSUInteger row = 1;//button.tag;

NSString * titlename = [titleArray objectAtIndex:row];

RenameTest *renameVC = [[RenameTest alloc]initWithNibName:@"RenameTest" bundle:nil];

renameVC.titlespell = titlename;
NSLog(@"titlespell = %@",renameVC.titlespell);

NSLog(@"title = %@",titlename);

    // [button release];

[self.navigationController pushViewController:renameVC animated:YES]; //here APP is cresh

[renameVC release];

}

我还检查了我的 .Xib 文件名。没问题,文件在那里。

错误信息如下:

   2012-07-11 14:28:29.079 TestApp[238:207] -[__NSCFDictionary _isNaturallyRTL]: unrecognized selector sent to instance 0x73d8a80

提前致谢。

【问题讨论】:

  • 哪些 NSLog 输出出现在您收到“无法识别的选择器”错误之前?是否会出现“Tapped”?
  • 是的,所有 NSLog 消息都在那里。
  • 你创建了导航控制器吗?
  • 谷歌搜索 isNaturallyRTL。坦率地说,我不知道它是关于什么的。显然,它不时会导致崩溃。您可以在有关堆栈溢出的其他相关问题或其他论坛中找到答案。该消息基本上说一条消息 isNaturallyRTL 被发送到一个没有实现方法 isNaturallyRTS 的 NSDictionary 类型的对象。但是,这似乎在框架中很深,而不是直接在您的代码中。可能很难确定根本原因。因此,请查看这些论坛,了解其他程序员迄今为止的经历。
  • 你的RenameTest视图控制器在viewWillAppear方法中做了什么?

标签: iphone objective-c uiview uiviewcontroller uibutton


【解决方案1】:

[按钮释放] 导致问题。删除它并检查。

【讨论】:

  • 我检查过但结果是一样的。
  • 按钮创建是对的。当我点击按钮时,这个 IBAction 被调用并在推送时崩溃。
【解决方案2】:

_isNaturallyRTL 是一个 NSString 方法(私有),看起来您在某处传递字典而不是字符串。

打破异常并向我们展示此时的调用堆栈将大有帮助。

【讨论】:

  • 我怀疑某处的 viewWillAppear 方法有问题。调用堆栈会告诉你哪个viewWillAppear 闻到了大海的味道。
【解决方案3】:

如果你已经在 xib 文件中创建了按钮,那么你不能释放它,因为你没有分配它并声称拥有所有权。你应该只在你通过调用 alloc 分配的对象上调用 release..

删除 [button release] 语句 .. 应该可以修复崩溃!

【讨论】:

    【解决方案4】:

    您遇到了与字典相关的崩溃,并且您的titlename 字符串设置为等于titleArray objectAtIndex:row

    我相信,在没有看到变量声明的情况下,titleArray 是字典,或者是从字典列表导入的 NSMutableArray,无论哪种方式,您都需要在使用时使用 objectForKey字典,像这样:

    [[titleArray objectAtIndex:(NSUInteger *)] objectForKey:(NSString *)]

    显然,将 (NSUInteger *) 替换为您的整数 row,将 (NSString *) 替换为您的密钥名称。这可能不是答案,但根据您的崩溃报告和可见代码,这是我的假设。

    【讨论】:

      猜你喜欢
      • 2011-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多