在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
当我从UI中的按钮调用doSomething时,我收到了错误的访问错误。
我知道这应该发生,但我不知道为什么或解决方法。
谢谢, 将
答案 0 :(得分:1)
您收到错误的访问错误,因为该内容未在内存中正确管理,如此问题中所述:EXC_BAD_ACCESS signal received。根据您发布的代码,您永远不会分配和初始化someString,因此永远不会释放它。我相信你没有收到null,因为someString对象永远不会占用任何内存。