iPhone开发【一】从HelloWorld开始

来源:互联网 发布:软件性能测试 编辑:程序博客网 时间:2024/04/29 23:21

转载请注明出处,原文网址:http://blog.csdn.net/m_changgong/article/details/8013553 作者:张燕广

从经典的HelloWorld开始踏入iPhone开发的大门吧!

关键字:HelloWorld iPhone IOS

1、打开xcode,选择“Create a New Xcode project”


2、xcode中的工程分为两大类,一是IOS,二是Mac OS X,前者是进行iPhone/iPad开发,后者是进行Mac PC开发。

     在IOS类别中选中“Application”,然后选择"Single View Application"工程模板(各模板功能下面有讲解)

xcode工程模板说明:

Master-Detail Application:
    iPhone设备:对应xcode4.0的Navigation-based Application,基于导航模式的工程模板。
    iPad设备:对应xcode4.0的Splite View-based Application,基于分割模式的工程模板。
OpenGL Game:对应xcode4.0的OpenGL ES Application。
Single View Application:对应xcode4.0的View-based Application,基于单视图的工程模板。
Tabbed Application:对应xcode4.0的Tab Bar Application,基于Tab Bar的工程模板。
Utility Application:对应xcode4.0的Utility Application,很少用到,目前还没用过。
Empty Application:对应xcode4.0的Window-based Application,创建一个空白工程。

3、Product Name:即工程生产的产品(iPhone应用程序)的名称


     Company identifier:com.zyg.ios,用于应用程序包名称

     Bundle Identifier:Company identifier+Product Name

     Class Prefix:工程生成的类名称都会加上这里填写的前缀

     Device Family:工程对应的设备类型,iPhone或者iPad(这两种设备的开发是有区别的,后面文章会讲到)

    

     Use Storyboards:是否使用故事板 不要选中,后面文章会专门讲解故事板

     Use Automatic Reference Counting:自动引用计数,选中后内存释放工作就不需要自己处理了,不要选中,学习iPhone开发时一定要学着自己控制内存释放,真正开发时可以选中该项。

     Include Unit Tests:是否包含单元测试,不要选中,后面文章专门讲解这个。

4、选中目录IOSDev,保存该工程

5、展开HelloWorld工程


HelloWorld:这个文件夹是个逻辑目录,在文件系统并不存在这个目录。它在Xcode工程中是一个Group。开发中基本都在该Group下创建子Group或者文件。
    HelloWorldAppDelegate.h:代理类头文件
    HelloWorldAppDelegate.m:代理类源文件
    HelloWorldViewController.h:视图控制器类头文件
    HelloWorldViewController.m:视图控制器类源文件
    HelloWorldViewController.xib:包含用户接口相关的组件
    Supporing Files:可以存放源文件,一般都是存放资源文件。
        HelloWorld-Info.plist:包含工程信息的属性列表。
        InfoPlist.strings:应用程序国际化用到,包含多国语言翻译。
        main.m:包含iPhone应用程序入口函数main,一般这个文件不需要我们做任何修改。
        HelloWorld-Prefix.pch:包含一些头文件列表。xcode会预编译这些头文件,如果工程中需要大量全局变量,也可以在此文件中定义宏变量作为全局变量。
Frameworks:引入的系统框架,默认引入
    UIKit.framework:ios的UI组件类库
    Foundation.framework:ios基础类库
    CoreGraphics.framework:2D绘图类库
Products:包含工程编译后生产的产品HelloWorld.app

6、通过上面对目录结构的讲解我们知道HelloWorldViewController.xib是存放用户接口相关的组件的,单击打开该文件,在xcode右下角找到label组件(可以在搜索框中输入label快速定位该组件),拖动该组件到空白view上,拖动过程中会出现水平、垂直对齐蓝线,使label水平、垂直居中与label中,然后在双击该lable,输入“Hello World”。


7、按住Command(简称Cmd)+B编译工程,然后Cmd+R,运行工程,效果如下

总结:

1、程序的入口在哪儿?启动流程?

            1)在main.m中的main函数中,该函数调用了UIApplicationMain,且最后一个参数用到了HelloWorldAppDelegate,我们猜测UIApplicationMain函数启动了HelloWorldAppDelegate类。

            2)HelloWorldAppDelegate.m中didFinishLaunchingWithOptions方法中又初始化了视图控制器HelloWorldViewController,初始化参数中用到了@"HelloWorldViewController",其实就是HelloWorldViewController.xib。

            3)HelloWorldViewController.xib包含了用户接口组件,所以视图控制器HelloWorldViewController初始化完毕后,UI组件就展示在view上了,我们Hello World就显示模拟器屏幕上了。

对程序启动流程有上面的概念即可,随着后面的学习会逐渐加深,更加清晰 。

2、label组件可以拖到view上显示,任何其它复杂的组件理论上都可以这样做,从而显示出来。

3、HelloWorldViewController既然叫视图控制器,那么对视图的控制操作应该在该类中实现。

怎么与label交互,控制label的显示、内容等等呢?请看下一篇。。。


点击下载本文源代码