我将一个 Action 拖到 ViewController.h 区域(这是我的 dayNight 按钮),如图所示:
//
// ViewController.h
//
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
- (IBAction)dayNight:(id)sender;
- (IBAction)insulationClick:(id)sender;
现在我决定我要它读作:
- (IBAction)dayNightClick:(id)sender;
所以我手动重命名它,如上一行所示。我还在 ViewController.m 文件中将其重命名为:
- (IBAction)dayNight:(id)sender{}
到:
- (IBAction)dayNightClick:(id)sender{}
当我执行代码时,我一使用按钮就收到错误。
如果我手动重命名它(不带 Click 这个词)它又可以工作了。
为什么我不能手动修改代码行。还有其他地方我也必须重命名代码吗?
错误是:
Thread1: signal SIGABRT
并指向main.m文件中的这一行代码:
int main(int argc, char *argv[])
{
@autoreleasepool
{
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
我确定这是一个非常基本的问题。
最佳答案
发生这种情况是因为您的 Storyboard/ Nib 仍然指向旧名称。 nib 文件本质上只是后台的 XML 文件,所以您需要做的是打开您的 nib/ Storyboard,转到显示所有引用的检查器。您会发现您对 IBAction 的旧引用仍然存在。通过点击小十字将其删除并将其再次拖入 ViewController 并将其与您重命名为的函数连接。
如果您在头文件中更改了方法签名,请务必记住同时更新 Storyboard和 .m :)
关于ios - 无法重命名源代码 - 出现错误 'Thread1: signal SIGABRT',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11921657/