以正确的方式分配视图控制器

Posted

技术标签:

【中文标题】以正确的方式分配视图控制器【英文标题】:allocating view controller the right way 【发布时间】:2013-04-23 21:08:21 【问题描述】:

我正在尝试归档一些非常简单的东西。

我在名为 PanelController 的 ViewController 头文件中为 NSScrollView 添加了一个属性:

@property (strong) IBOutlet NSScrollView *listurls_fld;

我将 ViewController.h 文件添加到名为“qhandler.h”的 NSObject 接口中

#import "handler.h"
#import "PanelController.h"

我在 qhandler.m 中有一个 +(void) 函数 ->

+ (void)do_handle:(NSDictionary *)response

    PanelController *MyView=[[PanelController alloc] init];
    NSLog(@"add moo");
    [MyView.listurls_fld setStringValue:@"moo"];

这不起作用...

它不适用于 setAlphaValue 或其他任何东西,我想这是因为我正在分配 PanelController 的一个新实例,但事实上,我试图更改主实例。

我知道这是基本的,但我在使用外部 obj-c 文件中的视图控制器中的 IBOutlets 时遇到了很大的问题。

谢谢, 约翰

【问题讨论】:

NSLog 是否被调用?您绝对不想创建一个新的PanelController 并对其进行操作,因为它不会满足您的需要。如何将 PanelController 放入窗口? 【参考方案1】:

ViewController.h

id mainDelegate;

ViewController.m 在 viewDidLoad 中,加载后触发了什么函数:

mainDelegate=self;

所以我可以在每个文件中使用[mainDelegate ...:..];..

【讨论】:

以上是关于以正确的方式分配视图控制器的主要内容,如果未能解决你的问题,请参考以下文章

以正确的方式识别 UITabBarItems 视图控制器实例

使用 UIScrollView 和 AutoLayout 以编程方式创建控制器无法正确调整视图大小

以正确的方式从视图中调用控制器方法

以编程方式创建的 rootviewcontroller 未显示分配的 viewcontroller 的内容

以正确的方式实现模型-视图-控制器

如何以编程方式为情节提要中的子视图设置视图控制器?