gpt4 book ai didi

objective-c - 无法从其他类访问@Property

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

我在访问程序中的某些变量时遇到问题。

我有一个名为 MainMenu 的类。

在 .h 文件中,我声明了 2 个属性,如下所示:

MainMenu.h:
@property (nonatomic, retain) IBOutlet NSView *mainView;
@property (nonatomic, retain) IBOutlet NSWindow *theMainWindow;

在另一个类文件中,我希望能够访问这两个变量,当前我在另一个 .h 类文件中使用以下代码,但该代码不起作用,我不明白我做错了什么:

AppDelegate.m:
MainMenu *theMainMenu = [[MainMenu alloc] init];
[theMainMenu switchViews:theMainMenu.theMainWindow:theMainMenu.mainView];

在这里,我创建了 MainMenu 类的一个对象,并在其定义中调用了一个名为“switchViews”的方法,然后我想向它传递我无法访问的 2 个变量。

非常感谢任何帮助。先谢谢大家了。

编辑:“switchViews”方法如下所示:

- (void)switchViews:(NSWindow*)mainWindow:(NSView*)newView {
NSView *dummyView;
[mainWindow setContentView:dummyView];
[mainWindow setContentSize:newView.frame.size];
[mainWindow setContentView:newView];
}

最佳答案

我认为问题是 MainMenu 类的两个不同实例之一。如果您连接了 IBOutlets,则 IB 中必须有一个蓝色立方体设置为您的 MainMenu 类,对吗?但是,当您在应用程序委托(delegate)中分配 init 时,会创建 MainMenu 的另一个实例,该实例没有将这些属性连接到任何内容。相反,您还应该在 IB 中将一个蓝色立方体设置为您的应用程序委托(delegate),并在该类中拥有一个 IBOutlet,用于连接到 IB 中的 MainMenu 蓝色立方体。

关于objective-c - 无法从其他类访问@Property,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10198662/

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