在Xcode以及Interface Builder下使用Cocoa 基础学习
在Xcode以及Interface Builder下简单使用Cocoa是本文要介绍对内容,不多说,我们先来看内容。下面写下建一个简单的程序,来说明如何使用macintosh的IDE 中的Xcode以及Interface Builder 做简单的Cocoa开发,为初学者学习。
程序功能是把一个text里的数字复制到一个lable里
1.创建项目:
双击Xcode程序图标
如果是第一次打开会出现欢迎界面,可以查看如何操作,可以把它关了。
File -> Create Project 或:shift+command + N
Mac OS X -> Application -> Cocoa Application -> choose
(save as 处输入项目名称)MyTest -> (Where 处输入项目文件保存路径) ->Save
2.创建类:
(刚建的项目名称)MyTest -> Classes
File -> Create File 或:command + N
iPhone OS -> Cocoa Touch Class -> Objective-C Class
(Subclass of 中选)NSObject -> Next
(File Name 输入要添加的文件名)FileTest.m -> (选中)Also create "FileTest.h"
(Location 输入文件的位置,可以不在项目文件夹下) -> (Add to Project 处选择刚建的项目)MyTest
(Targets 中选中项目)Mytest -> Finish
3.创建类中元素:
Cocoa语言中头文件称呼用interface files,代码文件称为implementation files
返回Xcode 界面 -> Classes -> FileTest.h(刚建类的头文件)
在FileTest中输入一个变量:numberGet,numberSet
在括号外,@end命令前输入方法:CopyNumberFunction
保存文件(command + s)
本例结果是这样:
#import <Foundation/Foundation.h> @interface FileTest : NSObject { IBOutlet id numberGet; IBOutlet id numberSet; } -(IBAction) CopyNumberFunction:(id)sender; @end
4.创建UI界面:
返回Xcode界面 -> Resources -> (双击) MainMenu.xib(English)
此时已打开 interface Builder环境,此时可以看到一个window,如果没有双击MainMenu.xil(English)中的Window(Window)
Tool -> Library(里面是所有Xcode的控件)
(从Cocoa选项中)托出一个Text field,Lable和Push Button(双击可以改名称)到window
Tool -> Inspector(用来修改和查看选控件及其它对象的属性)
5.绑定界面控件跟类元素:
Tool -> Library -> Cocoa中选中Object 拖到 MainMenu.xil(English)窗口
Tool ->Identity Inspector -> 选中MainMenu.xil(English)中刚加的Object
class 中输入或选择(刚建的类)FileTest ,此时Class Action 和 Class Outlets 中就有刚建的类中的方法跟变量
关闭Identity窗口
(变量绑定)
进入MainMenu.xib(English)窗口 -> control + 点击(刚加入的Object)File Test -> 拖动到Window窗口(刚建的UI界面)对应的控件上
{在拖动过程会有一个点在MainMenu.xil(English)窗口中并有一条线跟着拉出来,到了Text field控件后会显示Text field,放开鼠标会出现
FileTest类中的变量,也只会出现变量,选择要绑定到这个控件变量即可}
(方法绑定)
方法绑定跟变量绑定类似,只是需要反过来做,选中(按着Control)要绑定的控件,此处 Button -> 拖到 MainMenu.xib(English)窗口
里找到File Test,点击相应要绑定的方法
6.方法实现:
返回Xcode 界面 -> Classes -> FileTest.m(刚建的类的源文件)
在FileTest中输入相应实现代码即可
本例结果是这样:
#import "FileTest.h" @implementation FileTest -(IBAction)CopyNumberFunction:(id)sender { float num11,num22; num11=[numberGet floatValue]; num22=num11; [numberSet setFloatValue:num22]; } @end
7.执行:
点击Build或Build and Go 或通过菜单中Go里的项目