ios开发入门-我的第一个ios程序 helloword

本章目标:iphone有一个button 弹出一个对话框,显示一句话 helloword  并且了解一个程序是如何运行起来的   最终效果如下 

 

ios开发入门-我的第一个ios程序 helloword_第1张图片

下面我们来一起做一遍:

第一步:启动Xcode 创建一个名为”HelloWord“新项目:界面模板选择为 single view appliction ,不会创建的同学 去看上一章喔  项目信息填写如下图。填写完成后 选择项目保存位置。

 

ios开发入门-我的第一个ios程序 helloword_第2张图片

完成后在导航栏区域 xcode已经为我们生成了一系列的 文件, 文件的结构入下图。 后续我们会讲解各目录的作用和含意,先来体验下 ihpone 程序开发的快捷性吧 。呵呵

 

ios开发入门-我的第一个ios程序 helloword_第3张图片

 

 

 在导航栏区域 xcode 会为我们生成一个 xib 类型的 文件,它是专门 对应 界面 布局的, 每一个xib 文件 都会 有一个控制器,该xib文件对应了 控制器是  和它同名的.m 。 .h 文件是.m 文件的 接口文件   都是一一对应的 。

 

第二步 我们打开 xib 文件 如下图 :

 

ios开发入门-我的第一个ios程序 helloword_第4张图片

 

 选择实用工具栏 中下面栏目中的 round rect button 控件,(默认为label 控件后面那个就是) 你也可以点击 objects 后面的 按钮 来切换不同的控件展示方式。

直接拖动round rect button 控件到 view 框中 或拖到 左侧objects 下面的view 上面 如图:

 

ios开发入门-我的第一个ios程序 helloword_第5张图片

在此步中,你可以随意拖动 button 的位置 ,来实现你理想的效果, 他不像android中的布局一样,需要考虑多屏幕。

 

 第三步: 选择view中的button  点击改控件的 属性检查器  并设置 button 的title属性  如图:

 

ios开发入门-我的第一个ios程序 helloword_第6张图片

 

第四步: 点击 显示助理编辑器 开始建立 button 点击事件  。 按下Ctrl 控制键, 拖动button 到 HelloWordViewController 接口中的 @interface 那行下面和@end结束行的上面 , 拖动正确的情况下 ,在两行之间会有 提示。并弹出一个对话框。 如图:

 

ios开发入门-我的第一个ios程序 helloword_第7张图片

选择 Connection 的类型为 action 既为动作。 并填写 动作名称  Name 。 这里我们起名为ActionDialog  同样你也可随意起名的

完成这一步骤后,xcode会帮助我们在 HelloWordViewController.m 和 HelloWordViewController.h 生成一组方法。 方法名称就是你刚刚命名的动作名称, .h 类中为接口方法,我们无需操作, 只需要在.m类中 完善 动作方法即可 

 

最后,在 HelloWordViewController.m 类中 的 - (IBAction)ActionDialog:(id)sender  方法中 实现 对话框 代码 , 如下 :

- (IBAction)ActionDialog:(id)sender {
    UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"提醒" message:@"helloWord 这是我的第一个ios程序喔,嘻嘻" delegate:self cancelButtonTitle:@"ok" otherButtonTitles:nil, nil];
    [alert show];
    [alert release];
}

到此搞定, 或许 大家 还是 比较模糊, 其实ios 开发非常简单, 只是和其他语言的开发思想和xcode 的使用上 不熟悉而已,一旦你的思维转变过来, 那就非常容易了, 要记得喔,学习开发,就要多动手喔

 

下面我们来了解下这个程序是如何运行的

首先

主函数

在iPhone的应用程序中,main函数仅在最小程度上被使用,应用程序运行所需的大多数实际工作由UIApplicationMain函数来处理。因此,当您在Xcode中开始一个新的应用程序工程时,每个工程模板都会提供一个main函数的标准实现,该实现和“处理关键的应用程序任务”部分提供的实现是一样的。main例程只做三件事:创建一个自动释放池,调用UIApplicationMain函数,以及使用自动释放池。除了少数的例外,您永远不应该改变这个函数的实现。

我们的main 函数位于 /项目/Supporting Files/ 目录下面  的main.m 文件我们无需更改它, 所有的ios 应用程序 都是从它开始启动的。

 

程序清单的核心代码是UIApplicationMain函数,它接收四个参数,并将它们用于初始化应用程序。传递给该函数的缺省值并不需要修改,但是它们对于应用程序启动的作用还是值得解释一下。除了传给main函数的argcargv之外,该函数还需要两个字符串参数,用于标识应用程序的首要类(即应用程序对象所属的类)和应用程序委托类。如果首要类字符串的值为nil, UIKit就缺省使用UIApplication类;如果应用程序委托类为nil,UIKit就会将应用程序主nib文件(针对通过Xcode模板创建的应用程序)中的某个对象假定为应用程序的委托对象。如果您将这些参数设置为非nil值,则在应用程序启动时,UIApplicationMain函数会创建一个与传入值相对应的类实例,并将它用于既定的目的。因此,如果您的应用程序使用了UIApplication类的定制子类(这种做法是不推荐的,但确实是可能的),就需要在第三个参数指定该定制类的类名。

其次

应用程序的委托

监控应用程序的高级行为是应用程序委托对象的责任,而应用程序委托对象是您提供的定制类实例。委托是一种避免对复杂的UIKit对象(比如缺省的UIApplication对象)进行子类化的机制。在这种机制下,您可以不进行子类化和方法重载,而是将自己的定制代码放到委托对象中,从而避免对复杂对象进行修改。当您感兴趣的事件发生时,复杂对象会将消息发送给您定制的委托对象。您可以通过这种“挂钩”执行自己的定制代码,实现需要的行为。 该例中的 委托为:HelloWordAppDelegate 类

应用程序启动委托时会加载 主的nib 文件 就是应用程序中需要显示的第一个用户界面。 具体实现在

HelloWordAppDelegate.m 类中的

-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions        方法中

 

最后就是 nib 文件了

主Nib文件

初始化的另一个任务是装载应用程序的主nib文件。如果应用程序的信息属性列表(Info.plist)文件中含有NSMainNibFile键,则作为初始化过程的一个部分,UIApplication对象会装载该键指定的nib文件。主nib文件是唯一一个自动装载的nib文件,其它的nib文件可以在稍后根据需要进行装载。

Nib文件是基于磁盘的资源文件,用于存储一或多个对象的快照。iPhone应用程序的主nib文件通常包含一个窗口对象和一个应用程 序委托对象,还可能包含一个或多个管理窗口的其它重要对象。装载一个nib文件会使该文件中的对象被重新构造,从而将每个对象的磁盘表示转化为应用程序可 以操作的内存对象。从nib文件中装载的对象和通过编程方式创建的对象之间没有区别。然而,对于用户界面而言,以图形的方式(使用Interface Builder程序)创建与用户界面相关联的对象并将它们存储在nib文件中通常比以编程的方式进行创建更加方便。

 

呵呵 这一章就到这里了, 各位童鞋,如有疑问或又问题的地方请留言喔 , 欢迎大家拍砖,

本文出自 “android,unity3d” 博客,请务必保留此出处http://mahaile.blog.51cto.com/2891586/1010145

你可能感兴趣的:(ios,基础,helloword,开发入门)