iphone开发初学者hello world代码分析

时间:2022-05-20 01:43:19 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。
iPhone开发入门篇 “Hello World”分析代码

iPhone, Hello, World, 入门, 代码

每个学习程序开发的第一个程序都是“Hello World”,作为刚刚入门的iPhone应用程序开发者,掌握“Hello World”的分析代码是十分重要的。本篇将介绍了Hello World程序

的分析代码,也就是到底这个程序是怎么say Hello的。



iPhone应用程序开发初探



这个程序基本的运行顺序是:载入窗口(UIWindow)->载入自定义的界面

(MyViewController),而各种消息的处理均在自定义的界面当中.而程序的设计遵循了MVC(Model-View-Controller)方法,也就是界面和程序是分开做的,通过controller联接彼

.

iPhoneHello World程序



首先看窗口. HelloWorldAppDelegate.h 文件当中有这样两行:

1. 2.

IBOutlet UIWindow *window;

MyViewController *myViewController;

复制代码

其中第一行定义了程序的窗口,第二行定义了我们自己的界面.

HelloWorldAppDelegate.m 文件中,函数



- (void)applicationDidFinishLaunching

UIApplication *)application iPhone

发者经常要打交道的一个,定义了程序启动后要做的工作.这几行程序的任务是:指定

myViewController 为子界面,

1. 1. MyViewController *aViewController = [[MyViewController alloc]

initWithNibName:@”HelloWorld” bundle:[NSBundle mainBundle]]; 2.

2. self.myViewController = aViewController;

3.

3. [aViewController release];

复制代码


并把子界面显示到上面来.

1. UIView *controllersView = [myViewController view]; 2.

[window addSubview:controllersView]; 3.

[window makeKeyAndVisible];

复制代码

前面提到了,程序设计遵循了MVC方法,但我们还没介绍代码和界面之间是怎么联系的,也就是说,我们说了程序的UIWindowview controller要干什么什么,也画出了界面,iPhone怎么知道哪个类对应哪个界面呢?这个是在IB(Interface Builder)中完成的.请双击

HelloWorld.xib 打开IB.下面看的就是我们的界面.

iPhone界面



点到File’s Owner,Identity Viewer,注意ClassMyViewController,这就定义了ModelView之间的对应关系.在同一个xib文件中,File’s Owner设定为一个类,并指向

View,该对应关系就建立好了.



MyViewController.m 文件中,

1. 1. - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

2.

2. {

3. 3. // Dismiss the keyboard when the view outside the text field is

touched.

4.

5.

4. [textField resignFirstResponder];

5. // Revert the text field to the previous value.

6.

6. textField.text = self.string;

7. 7. [super touchesBegan:touches withEvent:event];

8.

8. } 复制代码

的作用是:对触摸做出响应.当触摸在键盘外时,通过 resignFirstResponder 撤销键盘.

1. 1. - (BOOL)textFieldShouldReturn:(UITextField *)theTextField {


2. 2. // When the user presses return, take focus away from the text field

so that the keyboard is dismissed.

3. 4.

5.

3. if (theTextField == textField) { 4. [textField resignFirstResponder];

5. // Invoke the method that changes the greeting.

6.

6. [self updateString];

7. 8.

7. }

8. return YES; 9.

9. } 复制代码

作用是:当输入完文字并按Return,隐藏键盘,并调用updateString命令来更新显示.

个命令如下:

1.

2.

1. - (void)updateString {

2. // Store the text of the text field in the ‘string’ instance variable.

3.

3. self.string = textField.text;

4. 4. // Set the text of the label to the value of the ‘string’ instance

variable.

5.

5. label.text = self.string;

6.

6. } 复制代码

简单的说就是用输入的文字来替换标签原来的文字以更新显示.



好了,关于Hello World的分析代码就介绍到这,主要语句的功能都解说到了.希望大家喜

欢。




本文来源:https://www.wddqw.com/doc/e07603ecf8c75fbfc77db268.html