在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/

10-10 20:47