- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 NSOpenPanel 类的 beginWithCompletionHandler 。我的问题是项目属性是该 block 内的无效对象。我缺少什么?
NSOpenPanel *panel = [NSOpenPanel openPanel];
[panel setCanChooseDirectories:NO];
[panel setAllowedFileTypes:[NSImage imageFileTypes]];
[panel beginWithCompletionHandler:^(NSInteger result)
{
if (result==NSFileHandlingPanelOKButton)
{
NSString *name = [panel.URL lastPathComponent];
NSImage *aImage = [[NSImage alloc] initWithContentsOfURL:panel.URL];
if (aImage)
{
DLog(@"Success: %@", name);
Sprite *sprite = [[Sprite alloc] init];
[self.project addSprite:sprite];
}
else
{
DLog(@"Error, i can't load image %@ at path %@", name, [panel.URL path]);
}
}
}];
我用调试器屏幕截图解释我的问题
区 block 之前
http://img233.imageshack.us/img233/8982/schermata062455735alle1.png
此时一切正确,self=SpriteAnimation,project指向正确的Project实例。
http://img838.imageshack.us/img838/8982/schermata062455735alle1.png
如果这是状态之后
http://img855.imageshack.us/img855/8982/schermata062455735alle1.png
最佳答案
确切的错误消息是什么以及出了什么问题?
[self.project addSprite:sprite];
[p addSprite:sprite];
p
和 self.project
将是同一个对象(除非您在其他地方做了一些事情来在分配 p
并运行该 block 的时间。
请注意,您还泄漏了 sprite
和 aImage
引用的对象。
关于macos - NSOpenPanel 的 beginWithCompletionHandler block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6431381/
当我使用 beginWithCompletionHandler: 打开 NSSavePanel 或 NSOpenPanel 实例时,处理程序永远不会被调用。相反,我看到该面板出现了不到一秒钟,然后又消
我正在使用 NSOpenPanel 类的 beginWithCompletionHandler 。我的问题是项目属性是该 block 内的无效对象。我缺少什么? NSOpenPanel *panel
我是一名优秀的程序员,十分优秀!