cocoa 坑爹的委托
通过委托传递数值,搞了大半天,终于结束了这个恶魔,现在总结下:
view1.h
#import <Foundation/Foundation.h>
@protocol setAppControllerDelegate;
@interface view1 : NSObject {
//id _delegate;
PreferenceController *preferenceController;
NSObject<setAppControllerDelegate>*m_appControllerDelegate;
}
-(void)changeBgColor:(NSColor*)color;
- (IBAction)showPreferencePanel:(id)sender;
@end
view1.m
#import "AppController.h"
@implementation AppController
-(void)changeBgColor:(NSColor*)color;
{
NSLog("通过委托传过来的颜色值为:%@",color);
}
@end
view2.h
#import <Foundation/Foundation.h>
@classAppController;
@protocol ChangeViewBgColorDelegate;
@interface PreferenceController : NSWindowController {
AppController*b;
id<ChangeViewBgColorDelegate>m_dChangeViewBgColorDelegate;
}
@property(nonatomic,retain) id m_dChangeViewBgColorDelegate;
@end
//代理申明
@protocol ChangeViewBgColorDelegate<NSObject>
-(void)changeBgColor:(NSColor*)color;
@end
view2.m
#import "PreferenceController.h"
#import "AppController.h"
@implementation PreferenceController
@synthesize m_dChangeViewBgColorDelegate;
- (id)init
{
if (![superinitWithWindowNibName:@"preferences"]) {
[self window];
b = [[AppController alloc] init];
self.m_dChangeViewBgColorDelegate = b;
//通过代理传递一个颜色值为blue的值
[m_dChangeViewBgColorDelegatechangeBgColor:blueColor];
}
- (void)dealloc{
[b release];
[super dealloc];
}
@end
转载于:https://www.cnblogs.com/firstWolf/archive/2012/07/20/delegate.html
cocoa 坑爹的委托相关推荐
- Cocoa如何应用设计模式
在Cocoa中到处都可以找到设计模式的应用,基于模式的机制或架构在Cocoa框架和Objective-C运行环境及语言中是很常见的.Cocoa经常把自己与众不同的工作机制建立在模式上,它的设计受到诸如 ...
- Objective-C 基础教程——入门
来自 http://www.runoob.com/w3cnote/objective-c-tutorial.html Objective-C 是一种简单的计算机语言,设计为可以支持真正的面向对象编程. ...
- Swift互用性:采用Cocoa设计模式(Swift 2.0版)-b
本页包含内容: 委托(Delegation) 错误处理(Error Handling) 键值观察(Key-Value Observing) Target-Action模式(Target-Action) ...
- 分享一次与SharpDX坑爹Bug刚正面的过程
和SharpDX坑爹的Variant刚正面 几个月前我写了这篇文章<.NET中生成动态验证码>文章,其实里面藏着一个大坑.运行里面的代码,会发现运行的 gif图片并没有循环播放: 细心的网 ...
- Cocoa编程开发者手册
Cocoa编程开发者手册(Objective-C权威著作超一流翻译阵容) [美] 奇斯纳尔(Chisnall,D.) 著 霍炬等 译 ISBN 978-7-121-12239-2 2013年7月出版 ...
- 苹果官方指南:Cocoa框架(2)(非原创)
原文链接:http://mobile.51cto.com/iphone-269848_1.htm Mac OS X包含多个Cocoa框架,苹果和第三方厂商也随时会发布更多的框架.无论Cocoa框架有多 ...
- Cocoa Application-基础
Cocoa Cocoa基于Quartz,采用Painter model来绘制 Painter model主要是在一个连续的绘制操作中会将一层的绘制应用于一个output 画布(canvas)上 在添加 ...
- [Cocoa]苹果 Cocoa 编码规范
[Cocoa]苹果 Cocoa 编码规范 罗朝辉(http://blog.csdn.net/kesalin) CC许可,转载请注明出处 本文档下载:点击这里 > Code Naming Basi ...
- 苹果 Cocoa 编码规范
本文转载自http://blog.csdn.net/kesalin Code Naming Basics 代码命名基础 在面向对象软件库的设计过程中,开发人员经常忽视对类,方法,函数,常量以及其他编程 ...
最新文章
- 【深度学习】一文看尽深度学习各领域最新突破
- 5G 标准 — 3GPP
- 学好python能干嘛-学会Python后都能做什么?网友们的回答简直不要太厉害
- APP鉴赏之网易云音乐
- Application log save debug - how log data is persisted to database table
- 【Elasticsearch】ES内存满问题排查思路
- 大话数据结构 -04-3 队列
- 【java】创建一个Frame,字体的颜色可以用按钮改变
- 渗透测试:metasploit+ms-17-010+Windows2008r2
- C# 异步函数同时执行后再执行其它函数async
- Atitit atttilax创造的新概念与模式 xaas xaaK
- 如何关闭方正软件保护卡
- opencv warp(扭曲)球面投影的原理
- Ubuntu 18.04 安装搜狗拼音输入法出现乱码的
- 了不起的大中国—移动支付
- 从Mac的GUID分区谈起
- ubuntu14.04安装nvidia-GTK-1060驱动后黑屏
- python不同曲线设置标签_python 绘制拟合曲线并加指定点标识的实现 Python怎么实现非线性的拟合...
- Bash 单行注释与多行注释
- 「读书」人生十二法则