静态 IBOutlet?

发布于 2024-12-19 12:31:58 字数 178 浏览 2 评论 0原文

有没有办法创建“Class”outlet?

这个想法是只从 Nib 实例化这些出口一次,并与所有实例共享。

我主要的疑问是如何混合

@property (...) IBOutlet ...
static ...
@syntetize/@dynamic ...

Is there a way to create "Class" outlets?

The idea would be to instantiate those outlets from a Nib only once and share that with all instances.

My main doubt is how to mix

@property (...) IBOutlet ...
static ...
@syntetize/@dynamic ...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

旧梦荧光笔 2024-12-26 12:31:58

使用单例模式。

单例实例可以以正常方式拥有您的 IBOutlet,并且它们只会创建一次并共享。

Use a singleton pattern.

The singleton instance can own your IBOutlets in the normal way and they will be created only once and shared.

抠脚大汉 2024-12-26 12:31:58

我不确定这是一个好主意,但是您可以通过定义每个实例的 setFoo/foo 方法来处理共享值来获得您正在寻找的效果...

您可以声明 @property (. ..) IBOutlet foo 并定义:

static id sharedFoo;

-(void)setFoo:(id)newFoo {
    sharedFoo = newFoo;
}

-(id)foo {
    return sharedFoo;
}

这可能不是一个好主意,因为你所做的事情并不那么明显,而且古老的格言是“如果你对计算机撒谎,它就会抓住你”可以发挥作用。

I'm not sure this is a good idea, but you can get the effect you are looking for by defining the per-instance setFoo/foo methods to deal with a shared value...

You can declare @property (...) IBOutlet foo and define:

static id sharedFoo;

-(void)setFoo:(id)newFoo {
    sharedFoo = newFoo;
}

-(id)foo {
    return sharedFoo;
}

This might not be a good idea because it isn't all that obvious what you have done, and the old adage of "if you lie to the computer, it will get you" could come into play.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文