gpt4 book ai didi

objective-c - 线程 1 : EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0) 在 Objective-C 中调用函数时

转载 作者:行者123 更新时间:2023-12-03 17:33:21 24 4
gpt4 key购买 nike

尝试在 Objective-C++ 中调用函数时,出现错误Thread 1: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)这是我尝试运行的代码:

int main(int argc, char* argv[])
{
[WindowController init]; //Fatal error on this line

return 0;
}

#include "Cocoa/Cocoa.h"

@interface WindowController : NSObject
{
@private
NSWindow* Window;

}
-(id)init;
-(void)close;

@end

@implementation WindowController

-(id)init
{
id obj = [super init];
if (obj)
{
NSRect WindowRect = NSMakeRect(100, 100, 100, 100);

Window = [[NSWindow alloc] initWithContentRect:WindowRect styleMask:NSWindowStyleMaskTitled|NSWindowStyleMaskMiniaturizable|NSWindowStyleMaskResizable|NSWindowStyleMaskClosable backing:NSBackingStoreBuffered defer:NO];
[Window setTitle:@"New Window"];
[Window setReleasedWhenClosed:NO];
[Window setMinSize:NSMakeSize(50, 50)];

NSView* View = [Window contentView];
[View setAutoresizesSubviews:YES];
[View setAutoresizingMask:NSViewWidthSizable|NSViewHeightSizable];
}
return self;
}

-(void)close
{
[Window close];
[Window dealloc];
[super dealloc];
}
@end

最佳答案

这段代码存在很多问题。事实上,我建议完全扔掉它并从不同的教程或引用指南开始。

Cocoa 应用程序根本不是这样构建的。

相反,首先进入 Xcode,创建一个新的 Cooca 应用项目,然后检查它的构建方式。

此外,这里的 Objective-C 也是无效的。例如,必须先分配 WindowController,然后才能对其进行初始化。同样,您永远不会直接调用dealloc

关于objective-c - 线程 1 : EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0) 在 Objective-C 中调用函数时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48362982/

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