gpt4 book ai didi

objective-c - iOS Objective C - 指向 viewDidLoad 上的接口(interface)控制的指针

转载 作者:行者123 更新时间:2023-12-01 18:25:29 25 4
gpt4 key购买 nike

不幸的是,我是 ObjC 的新手。

我在底部创建了一个列表和工具栏,有两个按钮。

enter image description here

第一个按钮刷新列表,
当您点击列表项时,第二个应该“启用”并且单击时它将执行其他工作。这需要我在开始时禁用此按钮,但在 didSelectRowAtIndexPath 上启用。

我想获取指向 viewDidLoad 方法的第二个按钮的指针,以供以后使用。
像这样的东西会很棒:

UIBarButtonItem* m_pButtonA = (UIBarButtonItem*) some_magic_function_to_call;
UIBarButtonItem* m_pButtonB = (UIBarButtonItem*) some_magic_function_to_call;

所以我以后可以在需要时调用控制方法。
[m_pButtonRefresh method...]

这可能吗 ?感谢您的任何意见。

最佳答案

在您的自定义 View Controller 类中,创建一个 IBOutlet 属性,如下所示:

@property (nonatomic, weak) IBOutlet UIBarButtonItem* m_pButtonA;
@property (nonatomic, weak) IBOutlet UIBarButtonItem* m_pButtonB;

(我建议使用更具描述性的名称)

然后,在 Interface Builder 中,您可以将这些属性设置为每个 View 的引用 socket (从小 (+) 拖动到 IB 左侧边栏中的 View 控件,然后选择适当的属性)。

然后,您将能够使用 self.m_pButtonA 行中的代码访问这些项目。 .您不需要手动创建对它们的引用,因为代码会自动生成它们。

这有点类似于您在将 GUI 事件连接到 View Controller 中的方法时使用的方法(这些方法将使用标有 IBAction 类型的方法),这些方法在引发这些事件时会自动触发。 IBOutlet 和 IBAction 都只是对 Interface Builder 的一点提示(IBAction 实际上只是 void 的另一个名称)。

关于objective-c - iOS Objective C - 指向 viewDidLoad 上的接口(interface)控制的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14185239/

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