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

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

keyword:HelloWorld iPhone IOS

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

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

在IOS类别中选中“Application”,然后选择"Single View Application"project模板(各模板功能以下有解说)

xcodeproject模板说明:

Master-Detail Application:

    iPhone设备:相应xcode4.0的Navigation-based Application,基于导航模式的project模板。

    iPad设备:相应xcode4.0的Splite View-based Application,基于切割模式的project模板。

OpenGL Game:相应xcode4.0的OpenGL ES Application。

Single View Application:相应xcode4.0的View-based Application,基于单视图的project模板。

Tabbed Application:相应xcode4.0的Tab Bar Application,基于Tab Bar的project模板。

Utility Application:相应xcode4.0的Utility Application,非常少用到,眼下还没用过。

Empty Application:相应xcode4.0的Window-based Application,创建一个空白project。

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

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

Bundle Identifier:Company identifier+Product Name

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

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

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

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

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

4、选中文件夹IOSDev,保存该project

5、展开HelloWorldproject

HelloWorld:这个文件夹是个逻辑文件夹,在文件系统并不存在这个文件夹。它在Xcodeproject中是一个Group。开发中基本都在该Group下创建子Group或者文件。

    HelloWorldAppDelegate.h:代理类头文件

    HelloWorldAppDelegate.m:代理类源文件

    HelloWorldViewController.h:视图控制器类头文件

    HelloWorldViewController.m:视图控制器类源文件

    HelloWorldViewController.xib:包括用户接口相关的组件

    Supporing Files:能够存放源文件,一般都是存放资源文件。

        HelloWorld-Info.plist:包括project信息的属性列表。

        InfoPlist.strings:应用程序国际化用到,包括多国语言翻译。

        main.m:包括iPhone应用程序入口函数main,一般这个文件不须要我们做不论什么改动。

        HelloWorld-Prefix.pch:包括一些头文件列表。xcode会预编译这些头文件,假设project中须要大量全局变量,也能够在此文件里定义宏变量作为全局变量。

Frameworks:引入的系统框架,默认引入

    UIKit.framework:ios的UI组件类库

    Foundation.framework:ios基础类库

    CoreGraphics.framework:2D画图类库

Products:包括project编译后生产的产品HelloWorld.app

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

7、按住Command(简称Cmd)+B编译project,然后Cmd+R,执行project,效果例如以下

总结:

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的显示、内容等等呢?请看下一篇。。。

点击下载本文源码

最新文章

  1. linux 查找文件的命令
  2. JavaEE 启示录
  3. LayaAir引擎——(十一)
  4. Windows 2012 中文乱码的解决办法
  5. Orchard官方文档翻译(六) 建立你的第一个Orchartd站点
  6. SQL 2008配置管理工具服务显示 远程过程调用失败0x800706be
  7. HDU 1394Minimum Inversion Number(线段树)
  8. HDU1028 Ignatius and the Princess III 【母函数模板题】
  9. 使用JavaScript实现简单的输入校验
  10. Loadrunner执行Java脚本
  11. hdu 1106 排序
  12. [转]Linux Shell History (快速使用Linux命令)
  13. 网页制作之html基础学习5-background-position用法
  14. 开发板和centos服务器tftp传文件
  15. RabbitMQ消息模型概览(简明教程)
  16. PHP_DOC php文档结构及注解浏览
  17. [Windows] [VS] [C] [取得指针所指内存的十六进制形式字符串]
  18. 关于PCB开窗
  19. 1.5 socket服务器传输文件
  20. MassTransit

热门文章

  1. c++怎样让返回对象的函数不调用拷贝构造函数
  2. Android应用之基本的组件(一)
  3. Codeforces Round #272 (Div. 2)AK报告
  4. .bat脚本将windows server 2008设置成ntp时间同步服务器
  5. spark集群安装配置
  6. Cocos2d-x教程(30)-3.x版本号物理引擎的使用
  7. 14.18.1 The InnoDB Recovery Process InnoDB 恢复进程:
  8. [置顶] 遇到难题(bug)的解决方法心得
  9. 安装Oracle时可能碰到的常见问题-1
  10. 中间件(Middleware)