以正确的方式分配视图控制器
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 以编程方式创建控制器无法正确调整视图大小