Xcode的第一个mac程序
2014-06-25 03:52
197 查看
今天是第一次用Xcode,什么都不会,对于像我这种从windows c++转mac c++/obj-c/python的人,对mac下的编程可以说是一点都不了解,这篇文章也从零开始写起,记录我的cocoa编程学习历程。
1、mac下怎么编程
由于对Xcode极其陌生,大学时学java弄过eclipse,然后又了解到中文版的跨平台IDE Netbeans,所以就装了这两款IDE的mac版。刚装上的时候无从下手,因为我知道编写程序都是要include某些库的,可是库在哪儿呢?
上网查到eclipse和Netbeans要编写python和C++都需要安装插件,插件安装选项都在Help菜单里,找到相应的c++和python工具,都装上,就至少在新建项目时可以建立相应的工程了。不过python还好,C++可是怎么都运行不起来。查了老半天资料,发现这两款IDE都没有自带C++的编译器,于是安装了Xcode,此时Netbeans已经可以运行C++了,eclipse却仍然不行。
一番研究之后,发现eclipse新建C++工程得选Mac OS gcc,工程设置里的C++ builder setting也得选GCC C++ compiler,binary选Mach-O 64 Parser,这样应该就OK了(具体原理还不知道)。可见eclipse配置起来还是很麻烦的,不过我接触过的程序员都说eclipse比netbeans好……
说了这么半天C++和python,还都是集中在控制台程序,我很久以前写过VB和C#的GUI程序,但是C++、python的GUI我可从来没写过,何况在mac下,没有VS,我根本不知道怎么做GUI呢!又上网查,跨平台GUI库首推Qt和wxWidgets,好吧,不会用,而且这俩也都没有自带界面编辑器。正好在机缘巧合的机会下,我可能得需要开发mac原生程序,那么不如看看Xcode是怎么做mac程序的GUI的吧。
所以今天的目标是,做出一个mac下的GUI程序来。
至于Xcode,装了之后不需要做什么设置就能用了,如果是编写Objective-C应用,那么生成出来的就是app程序,可以直接在mac上面用了。这便是mac下如何编程的最简洁的答案。
2、Xcode怎么做GUI
Xcode自带了GUI编辑器IB,用起来还是挺方便的,不过跟VS最大的区别在于,VS是双击控件就进入到事件代码编写,而Xcode选择了某种称为“Action”和“Outlet”的链接机制,具体是怎么回事也还没有深究,简单来讲,Action用于触发事件,而Outlet是指针,指向某一控件,用于调用控件的功能,我知道的就这么多。
今天要写的程序需要有一个窗体,其中有一个按钮,按下按钮可以在窗体中空白处显示一行字。以下是流程:
(1)新建Objective-C Application工程,取名,选路径
(2)菜单View-Assistant Editor打开辅助编辑器,其实就是分屏
(3)第一屏顶栏选择MainMenu.xib打开界面编辑器,双击左侧树形图中的Windows-View,新建窗体,从右侧下部控件列表中把Button和Label拖入窗体
(4)第二屏选择工程名文件夹下的.h文件,鼠标点选按钮控件,按住CTRL键拖至.h文件中,建立IBAction。标签空间拖入建立IBOutlet。
(5)第二屏选择工程名文件夹下的.m文件,在文件头添加@synthesize IBOutlet名,IBAction函数中写上[IBOutlet名 setStringValue:@"要显示的字符串"]; ,记住中括号、@和结尾的分号不能少。
(5)点击运行应该就可以看到效果了。
完整代码如下:
3、总结
Objective-C中的.m文件就相当于C++中的.cpp文件,是用于实现函数功能的。
Xcode的代码自动提示功能很好用,可以迅速熟悉OC的类库。
1、mac下怎么编程
由于对Xcode极其陌生,大学时学java弄过eclipse,然后又了解到中文版的跨平台IDE Netbeans,所以就装了这两款IDE的mac版。刚装上的时候无从下手,因为我知道编写程序都是要include某些库的,可是库在哪儿呢?
上网查到eclipse和Netbeans要编写python和C++都需要安装插件,插件安装选项都在Help菜单里,找到相应的c++和python工具,都装上,就至少在新建项目时可以建立相应的工程了。不过python还好,C++可是怎么都运行不起来。查了老半天资料,发现这两款IDE都没有自带C++的编译器,于是安装了Xcode,此时Netbeans已经可以运行C++了,eclipse却仍然不行。
一番研究之后,发现eclipse新建C++工程得选Mac OS gcc,工程设置里的C++ builder setting也得选GCC C++ compiler,binary选Mach-O 64 Parser,这样应该就OK了(具体原理还不知道)。可见eclipse配置起来还是很麻烦的,不过我接触过的程序员都说eclipse比netbeans好……
说了这么半天C++和python,还都是集中在控制台程序,我很久以前写过VB和C#的GUI程序,但是C++、python的GUI我可从来没写过,何况在mac下,没有VS,我根本不知道怎么做GUI呢!又上网查,跨平台GUI库首推Qt和wxWidgets,好吧,不会用,而且这俩也都没有自带界面编辑器。正好在机缘巧合的机会下,我可能得需要开发mac原生程序,那么不如看看Xcode是怎么做mac程序的GUI的吧。
所以今天的目标是,做出一个mac下的GUI程序来。
至于Xcode,装了之后不需要做什么设置就能用了,如果是编写Objective-C应用,那么生成出来的就是app程序,可以直接在mac上面用了。这便是mac下如何编程的最简洁的答案。
2、Xcode怎么做GUI
Xcode自带了GUI编辑器IB,用起来还是挺方便的,不过跟VS最大的区别在于,VS是双击控件就进入到事件代码编写,而Xcode选择了某种称为“Action”和“Outlet”的链接机制,具体是怎么回事也还没有深究,简单来讲,Action用于触发事件,而Outlet是指针,指向某一控件,用于调用控件的功能,我知道的就这么多。
今天要写的程序需要有一个窗体,其中有一个按钮,按下按钮可以在窗体中空白处显示一行字。以下是流程:
(1)新建Objective-C Application工程,取名,选路径
(2)菜单View-Assistant Editor打开辅助编辑器,其实就是分屏
(3)第一屏顶栏选择MainMenu.xib打开界面编辑器,双击左侧树形图中的Windows-View,新建窗体,从右侧下部控件列表中把Button和Label拖入窗体
(4)第二屏选择工程名文件夹下的.h文件,鼠标点选按钮控件,按住CTRL键拖至.h文件中,建立IBAction。标签空间拖入建立IBOutlet。
(5)第二屏选择工程名文件夹下的.m文件,在文件头添加@synthesize IBOutlet名,IBAction函数中写上[IBOutlet名 setStringValue:@"要显示的字符串"]; ,记住中括号、@和结尾的分号不能少。
(5)点击运行应该就可以看到效果了。
完整代码如下:
// // AppDelegate.h // helloworld // // Created by me on 14-6-25. // Copyright (c) 2014年 me. All rights reserved. // #import <Cocoa/Cocoa.h> @interface AppDelegate : NSObject <NSApplicationDelegate> @property (weak) IBOutlet NSTextField *text; @property (assign) IBOutlet NSWindow *window; - (IBAction)click:(id)sender; @end
// // AppDelegate.m // helloworld // // Created by me on 14-6-25. // Copyright (c) 2014年 me. All rights reserved. // #import "AppDelegate.h" @implementation AppDelegate @synthesize text; - (void)applicationDidFinishLaunching:(NSNotification *)aNotification { // Insert code here to initialize your application } - (IBAction)click:(id)sender { [text setStringValue:@"Hello World!"]; } @end
3、总结
Objective-C中的.m文件就相当于C++中的.cpp文件,是用于实现函数功能的。
Xcode的代码自动提示功能很好用,可以迅速熟悉OC的类库。
相关文章推荐
- Xcode4.2的第一个iPhone程序HelloWorld
- Xcode 4开发第一个iPhone程序 图文实例
- mac下 Struts2 第一个程序的详细步骤(附带源码链接)
- VIM mac 文本编辑,程序执行的过程,Xcode的快捷键
- 【转】使用Xcode中的iOS SDK给iphone开发出第一个App程序
- Xcode:如何在调用Mac程序时传递参数
- 在mac上用Xcode写程序, run的时候总是失败, 显示clang: error: linker command failed with exit code 1
- 用objective-c开发的第一个mac程序(3)——动态库与静态库的问题
- 用objective c开发的第一个mac程序(2)——初识oc cocoa swift
- 【教程】Mac使用xcode编写连接mysql的C程序
- mac下使用xcode编写c++程序
- MAC下用XCode开发Cocoa程序简单教程
- Xcode 4开发第一个iPhone程序 图文实例
- Xcode与第一个iOS程序
- mac平台上xcode开发的桌面程序的简易部署(非官方应用商店模式)
- xcode 4.2使用方法初探--第一个objective-c程序
- IOS开发笔记 (4) ---第一个IOS界面程序兼谈IB在XCode4.2中的应用
- [MAC]建立第一个MACApplication 应用,使用MAC里面的Xcode软件
- 1、创建第一个swift程序(系统是OS X 10.11,工具是Xcode7.1)
- iOS 用CocoaPods做iOS程序的依赖管理(基于Alcatraz),以及升级Mac 10.11后Xcode的CocoaPods插件报错