2
こんにちはObjective-CとCocoa Devを学ぼうとしていますが、Calculator AppをGUIで作成する際に問題があります。ここに私の2つのファイルはNSIntegerはある関数では正しく動作しませんが、他の関数ではうまく動作しますか?
AppController.h
#import <Cocoa/Cocoa.h>
@interface AppController : NSObject
{
IBOutlet NSTextField *textField1;
IBOutlet NSTextField *textField2;
IBOutlet NSTextField *resultsField;
}
- (IBAction)add:(id)sender;
- (IBAction)multiply:(id)sender;
- (IBAction)subtract:(id)sender;
- (IBAction)divide:(id)sender;
@end
AppController.m
#import "AppController.h"
int addx(int x, int y)
{
return (x+y);
}
int subtractx(int x, int y)
{
return (x-y);
}
int multiplyx(int x, int y)
{
return (x*y);
}
int dividex(int x, int y)
{
return (x/y);
}
@implementation AppController
- (void) awakeFromNib
{
[textField1 setStringValue:@"Enter first value here"];
[textField2 setStringValue:@"Enter second value here"];
[resultsField setStringValue:@"Results come out here"];
}
- (IBAction)add:(id)sender
{
NSInteger *value1;
value1 = [textField1 integerValue];
NSInteger *value2;
value2 = [textField2 integerValue];
[resultsField setIntegerValue:addx(value1, value2)];
}
- (IBAction)subtract:(id)sender
{
NSInteger *value1;
value1 = [textField1 integerValue];
NSInteger *value2;
value2 = [textField2 integerValue];
[resultsField setIntegerValue:subtractx(value1, value2)];
}
- (IBAction)multiply:(id)sender
{
NSInteger *value1;
value1 = [textField1 integerValue];
NSInteger *value2;
value2 = [textField2 integerValue];
[resultsField setIntegerValue:multiplyx(value1, value2)];
}
-(IBAction)divide:(id)sender
{
NSInteger *value1;
value1 = [textField1 integerValue];
NSInteger *value2;
value2 = [textField2 integerValue];
[resultsField setIntegerValue:dividex(value1, value2)];
}
@end
すべてが追加除いて正常に動作します私のAppControllerクラスのためのものです。何らかの理由でAddを使用しようとするとプログラムがクラッシュします。他のすべての関数は正常に動作しますが、互いに同じです。なぜこうなった?誰か助けてくれますか?私は事前に感謝します。
ありがとうございました。^_ ^ – BigFerdes