objective-c – 在Lion 10.7上以编程方式创建并打开带有ARC的NSWindow

objective-c – 在Lion 10.7上以编程方式创建并打开带有ARC的NSWindow,第1张

概述我无法弄清楚如何在没有笔尖的情况下分配和打开一个新的NSWindow. NSRect frame = NSMakeRect(100, 100, 200, 200);NSUInteger styleMask = NSBorderlessWindowMask;NSRect rect = [NSWindow contentRectForFrameRect:frame styleMask:sty 我无法弄清楚如何在没有笔尖的情况下分配和打开一个新的NSWindow.

NSRect frame = NSMakeRect(100,100,200,200);NSUInteger styleMask =    NSborderlessWindowMask;NSRect rect = [NSWindow contentRectForFrameRect:frame styleMask:styleMask];NSWindow * window =  [[NSWindow alloc] initWithContentRect:rect styleMask:styleMask backing: NSbackingStoreBuffered    defer:false];[window setBackgroundcolor:[NScolor bluecolor]];[window makeKeyAndOrderFront: window];

上面的代码取自此线程How do I create a Cocoa window programmatically?

解决方法 如果您正在使用ARC,那么除非您对窗口有强引用,否则它将在引用它的最后一个语句之后立即释放.

ARC改变了您需要考虑对象的方式,从保留/发布模型到所有权模型.如果没有任何东西拥有你的窗口变量,它就会消失.

有几种方法可以获得窗口的所有权.您可以使用strong关键字将窗口设置为实例变量或类中的属性,或者在代码中声明变量时可以使用__strong限定符.

关于ARC的更多信息在LLVM compiler site.

总结

以上是内存溢出为你收集整理的objective-c – 在Lion 10.7上以编程方式创建并打开带有ARC的NSWindow全部内容,希望文章能够帮你解决objective-c – 在Lion 10.7上以编程方式创建并打开带有ARC的NSWindow所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1020760.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-23
下一篇2022-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存