在Objective-c中,我在接口文件中设置了变量:
#import <Cocoa/Cocoa.h>
@interface TestApp_BotAppDelegate : NSObject <NSApplicationDelegate>
{
NSString * someString;
}
- (IBAction) doSomething:(id)sender;
@end
还有这个
#import "TestApp_BotAppDelegate.h"
@implementation TestApp_BotAppDelegate
@synthesize window;
@synthesize Buildings;
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
someString=@"HELLO";
}
- (IBAction) doSomething:(id) sender
{
NSLog(@"%@", someString);
}
@end
当我从用户界面中的按钮调用doSomething时,出现了严重的访问错误。
我知道您应该这样做,但是我不知道为什么或解决方法。
谢谢,
将
最佳答案
您遇到了严重的访问错误,因为未按照此问题EXC_BAD_ACCESS signal received中的说明在内存中正确管理字符串。根据您发布的代码,您永远不会分配和初始化someString,因此永远不会释放它。我相信您不会收到null,因为someString对象从不占用任何内存。
关于objective-c - 使用IBAction调用后重置变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7047520/