博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iPhone开发【一】从HelloWorld開始
阅读量:5977 次
发布时间:2019-06-20

本文共 2774 字,大约阅读时间需要 9 分钟。

转载请注明出处,原文网址: 作者:张燕广

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

你可能感兴趣的文章
vue中v-for循环如何将变量带入class的属性名中
查看>>
PHP 安全问题入门:10 个常见安全问题 + 实例讲解
查看>>
Leetcode03
查看>>
Mysql常用命令
查看>>
Vuex的基本使用
查看>>
在DigitalOcean玩Kubernetes(K8S)
查看>>
Linux阶段总结shell脚本
查看>>
JUKI贴片机RX-7R_JUKI贴片机_贴片机
查看>>
字符串中不重复字符出现第一次的位置
查看>>
Python第一天:你必须要知道的Python擅长领域以及各种重点学习框架(包含Python在世界上...
查看>>
2018年,JavaScript都经历了什么?
查看>>
中了后缀adobe勒索病毒怎么办 恢复方法百分百解密成功[veracrypt@foxmail.com
查看>>
315 · Istio1.1 功能预告,真的假不了
查看>>
校园刷脸考勤
查看>>
驰骋工作流引擎设计系列10时效考核规则设计
查看>>
已经入门了C++,后面的路怎么走?
查看>>
建筑论文如何发表
查看>>
制作基于http的yum源2
查看>>
我的友情链接
查看>>
马哥linux学习笔记:openssl的使用
查看>>