gpt4 book ai didi

Cocoa - 从 CONTROLLER 调用 VIEW 方法

转载 作者:行者123 更新时间:2023-12-03 18:05:09 31 4
gpt4 key购买 nike

我之前问过一个小问题,但也许我没有正确询问。我有一个 cocoa 应用程序,除其他外,它必须执行以下任务:- 从磁盘加载一些图像,将它们存储在数组中并在自定义 View 中显示它们。

在界面生成器中,我有一个 CustomView 和一个指向 TexturesController.h 的对象

自定义 View 是一个自定义类,TextureBrowser。下面是 Controller 和 View 的代码:

纹理 Controller

#import <Cocoa/Cocoa.h>

@class TextureBrowser;

@interface TexturesController : NSObject {
IBOutlet NSTextField *logWindow;
IBOutlet TextureBrowser *textureView;
NSMutableArray *textureList;
}
@property textureView;
-(IBAction)loadTextures:(id)sender;
-(IBAction)showTexturesInfo:(id)sender;
@end

纹理浏览器

@interface TextureBrowser : NSView {
NSMutableArray *textures;
}
@property NSMutableArray *textures;
-(void)loadTextureList:(NSMutableArray *)source;
@end

这些只是标题。现在,我需要做的是:

  • 当从TexturesController调用loadTextures时,在加载图像后我想将此数据发送到 View (TextureBrowser),例如,将其存储在NSMutableArray *textures中。

我尝试从 View 中使用 -(void)loadTextureList:(NSMutableArray*)source 方法,但在 TextureController.m 中我收到警告:未找到 -loadTextureList 方法

这就是我调用该方法的方式:

[textureView loadTextureList: textureList];

即使我运行它并留下警告, View 类中的数组也不会被初始化。

也许我错过了一些东西......也许有人可以给出一个简单的例子来说明我需要做什么以及如何做(代码)。

提前致谢。

最佳答案

TexturesController.m中,您必须导入TextureBrowser.h,以便 Controller 知道属性textureView有哪些方法。现在,您只有一个空白占位符符号,而不是一个实际的类。

由于 textureView 是由 socket 定义的,因此您需要确保其类在 Interface Builder 中正确设置。如果您提供一个通用的 NSView,它将没有 loadTextureList: 方法。

关于Cocoa - 从 CONTROLLER 调用 VIEW 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3065346/

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