转载请注明出处,原文网址: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的显示、内容等等呢?请看下一篇。。。

点击下载本文源码

转载于:https://www.cnblogs.com/mfrbuaa/p/4252161.html

iPhone开发【一】从HelloWorld開始相关推荐

  1. Cocos2d-X开发中国象棋《三》開始场景的实现

    在前面两节(第一节.第二节)中介绍了中国象棋的功能和project文件.在这篇博客中将介绍中国象棋的開始场景的实现 在写代码前先理清一下实现開始场景的思路: 1.打开游戏后进入開始场景,场景上显示一个 ...

  2. 图解iPhone开发新手教程

    如今的智能手机越来越风行了,当中尤以Apple的iPhone和Google的Android系统最为流行,这里我将向大家介绍iPhone开发的基础知识.为了便于刚開始学习的人尽快上手,我尽量以代码加截图 ...

  3. iphone开发每日一练【2011-10-24】

    这诗写的 也谈iPad,我觉的未必会是未来的趋势 闲来无事自拍 我是马甲我有罪 想搞个iPhone开发线下聚会,有兴趣请进来 ipad的图 老早就想发上来的泄愤用FLASH,输入想扁的人(或物)的名字 ...

  4. iPhone开发证书破解

    Xcode 3.1.4 证书破解+iphone 3G 3.1.2真机部署(对3.2.1同样有效) 证书伪造: 先按照 该教程 的步骤添加证书.注意,原教程选择的是"系统"证书,这里 ...

  5. 開始Unity3D的学习之旅

    前言:这个系列的文章纯属对自己学习的整理,非高手之作.但确实的记载了我作为一个没接触过3D游戏编程的大学生的心路历程.争取每周整理一次吧.之所以会開始学Unity3D,最基本的原因是由于在快放暑假的时 ...

  6. wxWidgets刚開始学习的人导引(3)——wxWidgets应用程序初体验

    wxWidgets刚開始学习的人导引全文件夹   PDF版及附件下载 1 前言 2 下载.安装wxWidgets 3 wxWidgets应用程序初体验 4 wxWidgets学习资料及利用方法指导 5 ...

  7. ExtJs自学教程(1):一切从API開始

    题 记 该系列文章不側重全方位的去介绍ExtJs的使用,仅仅是側重于解决ExtJs问题的思考方法.写的人不用长篇大论,学的人则可以自立更生.l   学习的人仅仅要有一些CSS的javascript的基 ...

  8. iPhone开发环境搭建For PC

    网络上这方面的文章很多,但也充斥着很多误导用户的,这里将本人曾经尝试过的经验方法记录于此,也给后来者一个方向.首先,对比其他移动应用开发,PC上搭建iPhone开发无疑是最复杂的,当然如果你是MAC, ...

  9. 单片机小白学步系列(十三) 点亮第一个LED——好的開始,成功的一半

    前面介绍了非常多概念知识.做了非常多准备工作,从这一节開始,我们正式開始单片机的学习.我们将使用单片机完毕一项非常easy的工作:点亮一个发光二极管(即LED:Light-Emitting Diode ...

最新文章

  1. 世界首条柔性人造触觉神经诞生,有望应用于义肢感触等领域
  2. c语言 sysinfo_操作系统:内存分配(C语言 winapi)
  3. 架构师之路 — 分布式系统 — CAP 定理
  4. php跨域同步登录,织梦PC端移动端会员同步登录跨域AJAX
  5. c#委托调用另一窗口函数_在C#中使用委托调用成员函数
  6. 上学与不上学的区别_这是我在全球最大的React会议上学到的
  7. Grafana 中存在严重的未授权任意文件读取漏洞,已遭利用
  8. Unity3D基础26:物体实例化
  9. 全新的Windows Phone 8开发资源汇总
  10. C++ 共享内存 获取游戏数据
  11. 算法设计与分析第六章习题解答与学习指导(第2版)屈婉婷 刘田 张立昂 王捍贫编著 清华大学出版社
  12. D版力控加密狗使用有感
  13. Linux服务器建立IP隧道,变更访问出口
  14. 手机版minecraft java材质_材质包 - Minecraft Wiki,最详细的官方我的世界百科
  15. python 图片、word、ppt之间的格式转换
  16. 虚拟机硬盘格式vdi、vhd、vmdk进行互相转换
  17. 在计算机领域做研究的一些想法
  18. android 华为部分手机剪裁图片模糊问题
  19. python趣味编程100例-Python游戏趣味编程
  20. python 给手机发送邮件消息

热门文章

  1. JAVAEE框架之Spring JdbcTemplate
  2. 计算机cup容量有什么作用,电脑的cpu和内存条都起什么作用
  3. Unity3D对手机屏幕触摸的控制脚本
  4. socket编程--sockaddr_in结构体操作
  5. 给websocket加入心跳包防止自动断开连接
  6. 18-switch语句
  7. hadoop环境搭建遇到的问题:-bash: jps: command not found
  8. 【Tika基础教程之一】Tika基础教程
  9. 第11课:动手实战基于 LSTM 轻松生成各种古诗
  10. 使用spark ml pipeline进行机器学习