NSWindowController 多个窗口之间传递值
2020-12-13 02:51
标签:class blog code http ext get NSWindowController 多个窗口之间传递值 主界面一个按钮点击,出现另一个窗口,然后输入123,点OK,在主界面的编辑框内可以得到123这个值, 思路: 由于要给主界面的控件赋值,所以在第二个窗口里面设定一个同类型的变量。 然后主界面的控件 = 第二个窗口的同类型变量。 例如:主界面是 NSTextField 控件1, 那么就在子窗口里面设定这样一个变量(NSTextField a1),给值。 然后在主界面调用时,让主界面的NSTextField 控件1 =a1 这样主界面就可以得到子界面的值了。 子界面代码如下 H文件
主窗口代码如下 H文件
M文件
运行编译OK 如图: 完成! NSWindowController 多个窗口之间传递值,搜素材,soscw.com NSWindowController 多个窗口之间传递值 标签:class blog code http ext get 原文地址:http://blog.csdn.net/u013317006/article/details/30265411//
// Form1.h
// test_multi_window
//
// Created by EDU on 3/6/14.
// Copyright (c) 2014 EDU. All rights reserved.
//
#import
M文件
//
// Form1.m
// test_multi_window
//
// Created by on 3/6/14.
// Copyright (c) 2014 EDU. All rights reserved.
//
#import "Form1.h"
#import "EDUAppDelegate.h"
@interface Form1 ()
@end
@implementation Form1
@synthesize form_main;
@synthesize form_main_m_ET1;
@synthesize window_form1;
@synthesize button_ok_flag;
@synthesize button_string;
@synthesize m_Edit1;
@synthesize form_ok_cancel_result;
- (id)initWithWindow:(NSWindow *)window
{
NSLog (@"init()");
self = [super initWithWindow:window];
if (self)
{
}
return self;
}
- (void)windowDidLoad
{
[super windowDidLoad];
}
- (IBAction)OnBT_OK:(id)sender
{
form_main.stringValue = @"OK";
form_ok_cancel_result = true;
[self get_value];
[super close];
}
- (IBAction)OnBT_Cancel:(id)sender
{
form_main.stringValue = @"CANCEL";
form_ok_cancel_result = false;
[self get_value];
[super close];
}
-(void)get_value
{
form_main_m_ET1.stringValue = m_Edit1.stringValue;
}
@end
//
// EDUAppDelegate.h
// test_multi_window
//
// Created by on 3/6/14.
// Copyright (c) 2014 EDU. All rights reserved.
//
#import
//
// EDUAppDelegate.m
// test_multi_window
//
// Created by EDU on 3/6/14.
// Copyright (c) 2014 EDU. All rights reserved.
//
#import "EDUAppDelegate.h"
@implementation EDUAppDelegate
@synthesize m_form1;
@synthesize m_label1;
@synthesize window;
@synthesize m_ET1;
- (void)dealloc
{
[super dealloc];
}
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
// Insert code here to initialize your application
}
- (IBAction)OnBT_Form1:(id)sender
{
if(!m_form1)
{
m_form1 = [[Form1 alloc] initWithWindowNibName:@"Form1"];
}
m_form1.window.title = @"Hello,this is a test";
m_form1.form_main = m_label1;
m_form1.form_main_m_ET1=m_ET1;
[m_form1 showWindow: sender];
}
@end
文章标题:NSWindowController 多个窗口之间传递值
文章链接:http://soscw.com/essay/26456.html