本站文章均为李华明Himi原创,转载务必在明显处注明:
转载自【黑米GameDev街区】原文链接:http://www.himigame.com/mac-cocoa-application/893.html
☞ 点击订阅 ☜本博客最新动态!及时将最新博文通知您!
终于HTTP与Socket服务器以及cocos2dx之间的通信各种框架成功完成后,现在抽时间学习下mac下的cocoa application,当然啦 主要用于做编辑器。
很多童鞋问我为什么不用swing swt等Java的编辑器,这样能跨平台。其实对于java写编辑器呢,Himi在还没有接触ios平台之前做android时自己已经写过java的地图编辑器和简单动作编辑器。当然啦比较简单,不使用Java进行编写编辑器的原因主要有三点:
1. 基于Cocos2dx做游戏了,基本上就用不到windows系统了。
2. 不管哪个平台的编辑器,其实都是一样的,写出的数据文件哪个平台都能正常解析出来的。
3. 个人原因吧,Himi喜欢mac下的东东,而且呢,基本上Himi 的工作期间99%都在mac下,虽然装有双系统,各种切也不方便哈哈;
ok,不扯了,那么本篇简单入门下Cocoa application吧;
首先安装Xcode,这个东东,神器一样的东东不解释;
OK,打开Xcode,创建一个项目;如下图:
一路下去后我们创建好了第一个cocoa application,虽然是个空项目,但是基本的Menu和window 已经自带了。
OK,首先在AppDelegate.h 和AppDelegate.m 下编写一点小代码:
//
// AppDelegate.h
// CountApp
//
// Created by Himi on 12-6-3.
// Copyright (c) 2012年 Himi. All rights reserved.
//
#import <Cocoa/Cocoa.h>
@interface AppDelegate : NSObject <NSApplicationDelegate>
{
IBOutlet NSButton *btn1;
IBOutlet NSButton *btnResult;
IBOutlet NSTextField *tfShow ;
IBOutlet NSTextField *tfResult;
}
@property (assign) IBOutlet NSWindow *window;
-(IBAction)btnPress:(id)sender;
@end
//
// AppDelegate.m
// CountApp
//
// Created by Himi on 12-6-3.
// Copyright (c) 2012年 Himi. All rights reserved.
//
#import "AppDelegate.h"
@implementation AppDelegate
@synthesize window = _window;
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
// Insert code here to initialize your application
}
-(IBAction)btnPress:(id)sender{
if(sender == btn1){
NSString *str = [NSString stringWithFormat:@"%@%@",[tfShow stringValue],@"1"];
[tfShow setStringValue:str];
}else if(sender == btnResult){
[tfResult setStringValue:[tfShow stringValue]];
}
}
@end
简单说下代码:
1 . NSButton — 按钮 ;
NSTextField 文本条;
2. IBoutlet :一般都说叫“插座变量”,Himi则喜欢说“仍”来形容;比如IBOutlet NSButton *btn1 说通俗些就是把 btn1这个对象从代码中扔出来,能让我们的Interface Builder识别;
3. IBAction :动作,如果一个方法返回值是IBAction,则表示这个方法是由IB 界面的对象触发;
OK,下面接着打开MainMenu.xib文件:
a) 刚才就说啦,xcode为我们生成项目时,已经把基础的window和Menu都创建好了,而且启动项目后执行main.m入口函数中会默认加载这个MainMenu.xib文件啦;
b) 这里Himi简单加入了12个Button(Push Button)和两个TextField,还有一个image well做背景;如下图:
OK,然后要做的只有两步,首先在选中你左侧的 App Delegate如下图:
然后看你的项目最右侧Utilities窗口:
在这里你就可以看到你之前在代码中扔出来的一些对象和方法了。比如btn1,tfResult, 方法btnPress等,那么细心的童鞋可能看到有个btn后面是个“!”感叹号,这个表示对应的对象找不到了,因为大家看到之前代码中根本没有对应扔出所谓的btn,原因是之前Himi的NSButton对象是起名字btn,后来改名字了,所以这里提醒了,大家这里要注意下;
然后将我们这些扔出来的对象跟你想对应控件关联一下吧,加入这里我们连接btn1,如下图:
其他的大家按照此方式连接吧,函数也一样哦,如果你想让你的btnPress函数接受哪些控件触发后相应次函数,那么也一样连接就OK啦。
当然除此之外有个简单的连接方法,就是hold住你的control键,然后鼠标点击xib中左侧App delegate然后move到你想关联的组件,然后松开鼠标选中你希望连接的代码中扔出来的对象即可;如下图所示:
那么这里Himi只是简单的将btn1,btnResult,和两个textfield进行关联,用于简单的演示,并没有把这个计算器也完整。。。大家不要这里吐槽我什么标题党 – -。真没必要写完整,写完整了就是浪费时间不是么~ 要效率学习哈哈;
OK,回头分析下AppDelegate代码:
在-(IBAction)btnPress:(id)sender{}函数内;
首先判断响应的组建是否是btn1,如果是OK,让刚才在xib中最上面的textfield(tfShow)显示出来,如果响应的是btnResult(“=”等号)那么我就让tfShow用户输入的都打印到我们window最下方的textfield(tfResult)上;
OK,下面是这个简单application的演示截图:
分享到:
相关推荐
Mac OS X 下的Cocoa Application对话框程序,使用Xcode4.2.1开发工具,实现字母大小写的转换功能
Wrox.Professional.Cocoa.Application.Security.Jun.2010.rar
苹果开发之Cocoa编程原书第4版,想学习mac app开发的可以先看看!
苹果开发之Cocoa编程(原书第4版).pdf
The key to creating a modern Mac application is Cocoa. According to Apple, Cocoa is a set of object-oriented frameworks that provide a runtime environment for Mac OS X applications. As you make your ...
苹果开发之Cocoa编程,ios开发必备。
你是否苦恼于Mac Xcode4上的开发无处下手? 是否搜索了大量资源,仍无法完成一段简单的cocoa代码? 那么这本经典大作《 Cocoa Programming for Mac OS X(4th)》 一定适合你 文字简捷而又由浅入深,虽然是英文但是读...
[奥莱理] Cocoa Objective-C 开发学习手册 第4版 (英文版) [奥莱理] Learning Cocoa with Objective-C 4th Edition (E-Book) ☆ 图书概要:☆ You’ll learn how to work with the Xcode IDE, Objective-C’s ...
Cocoa多线程开发Objective-C详解 多线程 Objective-C iOS cocoa Xcode
cocoa 2d 游戏开发 iphone iOS cocoa2d 游戏 ipad
Learn Cocoa on the Mac by Jack Nutting, David Mark and Jeff LaMarche The Cocoa frameworks are some of the most powerful frameworks for creating native desktop applications available on any platform ...
高清原版Learn Cocoa on the Mac,这一系列被誉为是Mac设备开发的经典教材。
因此,我挑选了一些相对比较新Mac OS X的开发系列书籍,分享给所有对Mac OS X平台软件开发感兴趣的朋友们。这些书籍大多为基于Mac OS X 10.4 Tiger平台的,但是依然很有参考价值。包括Objective-C,Cocoa,Quartz,...
资源名称:苹果开发之Cocoa编程 原书第四版资源截图: 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
经典的《Learn Cocoa on the Mac》第二版 2013年5月出版
苹果开发之Cocoa编程(第三版)(中文版)
苹果开发之Cocoa编程 原书第4版
iOS实现四则运算计算器的开发 具体内容:利用 Object C 和 Cocoa 框架,利用上次实验实现的表达式求值的类来开发一个四则运算器在模拟器中运行。