ios - 无法重命名源代码 - 出现错误 'Thread1: signal SIGABRT'

标签 ios

我将一个 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/

相关文章:

iphone - 如何识别当前哪个文本字段是第一响应者

ios - Swift:无法以编程方式在 UICollectionView 中选择 MStickerView?

iphone - 本地保存的数据文件在模拟器中持久存在,但在真正的 iPad 设备中不存在......我迷路了

ios - 如果在 tableview iOS 中找不到数据,则无法在中心显示 View ?

ios - 有没有办法知道用户移动 ScrollView 的像素数?

ios - Swift 3 FBSDKCoreKit 错误

iPhone 耳机输出 - 单声道控制左/右耳

ios - 使用自动布局将图像宽度调整为 100%,同时保持纵横比

ios - 代表iOS

ios - CollectionView 单元格中正常状态的 UIButton 图像每四个单元格重复一次