gpt4 book ai didi

ios - Objective-C 中的 NSInvalidArgumentException

转载 作者:行者123 更新时间:2023-11-29 13:11:30 24 4
gpt4 key购买 nike

我正在制作一个简单的计算器,当我使用加法按钮时,iOS 模拟器崩溃并且我得到一个 NSInvalidArgumentException。我该怎么做才能防止这种情况发生?错误报告:

2013-06-23 17:18:54.574 Tutorial Test (Storyboard)[9744:c07] -[ViewController2 addition]:     
unrecognized selector sent to instance 0x75858f0
2013-06-23 17:18:54.577 Tutorial Test (Storyboard)[9744:c07] *** Terminating app due to
uncaught exception 'NSInvalidArgumentException', reason: '-[ViewController2 addition]:
unrecognized selector sent to instance 0x75858f0'
*** First throw call stack:
(0x1c91012 0x10cee7e 0x1d1c4bd 0x1c80bbc 0x1c8094e 0x10e2705 0x162c0 0x16258 0xd7021
0xd757f 0xd66e8 0x45cef 0x45f02 0x23d4a 0x15698 0x1becdf9 0x1becad0 0x1c06bf5 0x1c06962
0x1c37bb6 0x1c36f44 0x1c36e1b 0x1beb7e3 0x1beb668 0x12ffc 0x1e2d 0x1d55)
libc++abi.dylib: terminate called throwing an exception
(lldb)

ViewController 中出现此错误的代码:

查看 Controller .h

#import <UIKit/UIKit.h>
//Calculator
@interface ViewController2 : UIViewController{

IBOutlet UITextField *textField1;
IBOutlet UITextField *textField2;
IBOutlet UILabel *label;
}

-(IBAction)addition;
-(IBAction)subtract;
-(IBAction)multiply;
-(IBAction)divide;
-(IBAction)clear;

@end

View Controller .m

//Addition
-(IBAction)plus
{
float a = ([textField1.text floatValue]);
float b = a+([textField2.text floatValue]);
label.text = [[NSString alloc] initWithFormat:@"%2.f", b];
}

最佳答案

您在 .m 文件中将方法命名为 plus,而不是 addition。这就是找不到方法 addition 的原因,修复方法是将 .m 文件中的方法从 plus 重命名为 添加:

//Addition
-(IBAction)addition
{
float a = [textField1.text floatValue];
float b = [textField2.text floatValue];
label.text = [[NSString alloc] initWithFormat:@"%2.f", a+b];
}

关于ios - Objective-C 中的 NSInvalidArgumentException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17265898/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com