转载请注明出处。原文网址: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/bhlsheji/p/4593222.html

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

  1. iphonexr电池容量_初代手机到iPhone 12,从电池容量变化看充电功率的发展

    真正意义上的触屏智能手机从2007年开始得到了突飞猛进的发展,从此iPhone一路凯旋高歌猛进,而此前一直以正面实体按键为主的诺基亚.摩托罗拉等智能手机品牌的势头渐行渐远. 苹果iPhone的影响力时 ...

  2. Iphone是革了传统互联网的命

    新浪的总编陈彤先生最近一定很高兴,因为微博发展的很好,真是很火,但是他一定也会很苦恼,微博的商业模式在哪里?何时才能挣钱? 很多人说微博是一个互联网的应用,其实,微博本质上是一个手机的应用,如果没有手 ...

  3. Iphone革了谁的命?

    Iphone革了谁的命? 这几年iphone发展的很好,对于这样一款革命性的终端,我们很多人都把它看成是互联网向手机延伸的一个例证.然而,如果你认真研究一下iphone,它已经变异了,完全不再是传统意 ...

  4. 苹果手机html吊起拍照,一张好照片不是只按快门 iPhone手机拍照指南

    智能手机改变了我们的生活方式,让生活更科技化,也让摄影更平民化.现在谁出门不用手机拍照呢?每天各种APP服务器上产生的照片,相当一部分是苹果iPhone系列手机拍摄的,所以今天我们就从入门开始,给大家 ...

  5. 苹果公司战略管理分析

    苹果公司战略管理分析 -- 以产品 iphone 为例 一.公司简介 苹果电脑公司由乔布斯.斯蒂夫 · 沃兹尼亚克 和 RonWayn 在 1976 年 4 月 1 日创立,总部位于美国加里福尼亚丘珀 ...

  6. 苹果讨好中国的这十年

    苹果在讨好中国,2018年9月发布的新品iPhone中,苹果首次实现双卡双待功能,其中iPhone XS Max和iPhone XR仅在中国支持双卡双待实体卡槽. 10月30日晚10点,距离上一次发布 ...

  7. 苹果未来秘密在这里!从神秘组织到七大技术布局

    来源:智东西 随着人工智能的艰难发展,智能手机增长的放缓, 苹果公司能否第三次重塑自我? 在很多方面,苹果仍然是一家以Steve Jobs个人形象制造的公司,专注于颠覆性产品.但今天,苹果走在了十字路 ...

  8. ios录音文件路径_iphone的录音文件保存在哪里

    展开全部 可以按照如下方式进行查找: 1.在32313133353236313431303231363533e4b893e5b19e31333365666231桌面上找到图标:"拨号&quo ...

  9. iPhone Three20软件引擎之构建开发环境与HelloWorld

    1:原文摘自:http://blog.csdn.net/xys289187120/article/details/7017432 雨松MOMO原创文章如转载,请注明:转载自雨松MOMO的博客原文地址: ...

  10. 从HelloWorld看iphone程序的生命周期

    做iphone开发首先第一件就是得知道iphone程序的生命周期,说白点就是当点击程序图标启动程序开始到退出程序整个使用运行过程中底下的代码都发生了什么,只有理解了这个才能游刃有余的掌握Iphone程 ...

最新文章

  1. Swift 换肤方案的实现使用SwiftTheme框架
  2. Nginx查看并发连接
  3. (转载)jdbc事务处理
  4. VMware虚拟机安装红帽系统无法上网解决办法(转)
  5. [diango]理解django视图工作原理
  6. Golang 计算MD5值示例
  7. ios 的touch事件分析
  8. 使用Docker启动Kafka-Manager
  9. 矩池云利用ipykernel为JupyterLab添加kernel以及展示出来
  10. 如何在 Mac 上阻止 FaceTime 通话和 iMessage 信息?
  11. 「3D建模」建模中什么是重新拓补?为什么要拓补,有何作用?
  12. 离线渲染与实时渲染杂谈 ——从发布会上的产品展示说起
  13. 关于10进制转2进制的C语言代码
  14. SylixOS中的中断服务对象
  15. 小米4 第三方re奇兔_小米推送测试
  16. 【百科】详解阿里云技术核心——飞天
  17. cf1693C. Keshi in Search of AmShZ(div1)【最短路,反向建图】
  18. python 拆分excel工作表_Python合并拆分excel
  19. 面向对象程序设计c 语言,C 语言如何实现面向对象编程
  20. 2022年恒生指数研究报告

热门文章

  1. TiDB VS MariaDB10.1.19 Enterprise性能压测
  2. 求10 个整数中最大值
  3. 构建企业代码管理系统之SVN服务(基础篇)
  4. 码农们:你属于哪一种极品程序员?
  5. ubuntu mysql远程连接
  6. 交换排序 java_Java交换排序:冒泡排序和快速排序
  7. 线程安全之CAS机制详解(分析详细,通俗易懂)
  8. breadcrumb 根据路由_简单的vue-router面包屑转化
  9. Redis 6.0 源码阅读笔记(7) -- ZSet 数据类型源码分析
  10. 控制小灯闪烁次数_Luat系列官方教程2:控制LED小灯