iOS Xcode全面剖析

本文乃是打字练习,如有疑问,第一时间联系本人,可删除。##

前言

前几天在公司内部做一次关于iOS的入门分享,听众有PHP,Web,Android ,测试,产品,UI等,主旨是力求不懂iOS的人能了解iOS的开发流程,听后都能创建一个iOS项目并打印HelloWorld.
你想想就这点需求,没啥东西吧,又因为最近项目还特别忙就什么也没有准备,以至于分享中就有了一些小尴尬
总结下来,像听众有技术和非技术这样而且是不懂iOS得其实是最难兼顾的,不准备还不是等死。

当然最大的感受还是自己掌握的iOS基础太渣,对于一个没有接触过iOS的技术或非技术,视角不一样看到的东西就不一样,他会对所有的东西都好奇都想知道是怎么回事,所以他会问一些iOS开发中不重要但是确实是属于iOS的问题,so随着分享的深入什么设计模式mvvm,runtime.乱七八糟的都讲了,但是也掩饰不了自己基础的薄弱,所以近期打算重新梳理一下自己的iOS只是体系,把自以为自己懂得的知识好好总结,用博客的形式表现出来,毕竟写博客是最能检验一个人知识巩固好坏的方法,最近一段时间一直在写PHP,js 等方向的分享,是时候回归一下本职了,希望能帮助自己巩固基础更希望能把工作跟我一样基础不是那么牢固的童鞋们!

1.Get started with a playground

是苹果在2014年 苹果开发大会 随着Swift一起推出来的,可以实现一边写代码,一边预览效果 即实时预览代码的效果
Playground 无法直接将Playground文件直接用到工程中,暂不支持 OC

2,Create a new Xcode project

创建一个新的Xcode项目,一般正式项目 从此项开始

3 Check out an existing project

打开一个已经存在的项目

选择一个项目模板创建,点击Next
苹果上的所有软件均可以用Xcode,比如手机,手表,电视,Mac等。
各种模板 一般选择第三种只有单个View的模板。

左侧栏

左侧栏中四个分类代表了手机 pad 手表 电视 PC端的开发选项 就是一款xcode可以开发苹果所有产品线中的所有软件 是不是特别叼?
Application:即创建一个完整的项目
Framework & Library :即写一个框架或者库

右侧详细:

各种预定义的模板,具体可从图中显示看出各个模板的样式,一般而言项目会选择最简单的 第三个 模板

填写并选择一些创建项目的信息,如下并点击Next

1.Product Name
项目理财
2.Organization Name
组织或公司的名称
3.Organization identifier
组织或名称的标志
4.Bundle identifier
程序包标示
5.Language
开发语言选择
6.User Core Data
是否用 ,iOS中常用数据库
7.include Unit Tests
是否 添加 模块单元测试Target
8.include UI Tests
添加 UI 单元测试
1.create Git repository on My Mac
是否创建版本控制系统

代码的初始目录结构

二、Xcode界面详细
一部分 :顶部区域
程序运行相关: 从左 至右 运行按钮 停止按钮 为工程选择运行平台
编辑器相关:从左 至右 标志编辑器 辅助编辑器 版本编辑器
面板控制相关:从左 至右 隐藏(显示)左侧面板 隐藏底部面板 隐藏右侧面板
二部分:左面板
该面板是Xcode工程导航面板,上方的八个按钮用于切换导航模式。从左至右:项目导航、符号导航、搜索导航,问题导航,测试导航 调试导航 断点导航 日志导航
项目导航组成:
源文件:在XcodeIntroduction目录下的“h”和 “m”后缀是源文件
属性文件:在XcodeIntroduction下的Supporting Files 目录下 是 属性文件 图片等;
单元测试项目:XcodeIntroductionTexts,XcodeIntroductionUITests 是工程的单元测试项目
目标应用:Products目录下的XcodeIntroductionTests.app是目标应用
符号导航
符号导航简介:用符号显示工程中的类 项目 属性
表示方式 C表示类 M表示方法 P表示属性
快速定位 点击对应的方法或者属性,能快速定位到这个类中。
搜索导航 在输入框中输入要搜索的字符串 可搜索出包含该字符串的类。
问题导航
显示项目中存在的警告或错误
测试导航
点击 testExample 后面的执行按钮 会运行该单元测试。
调试导航
调试导航面板中显示了各线程的详细信息。
断点导航
列出所有断点 管理断点
日志导航
列出项目开发过程中 构建 生成 运行过程 每次该过程都可以通过日志面板查看

三部分:调试面板

调试面板主要按钮
用于Xcode显示 控制台调试输出信息
添加断点 蓝点
开始调试(自动判断)
点击顶部面板中的调试按钮,如果代码中有断点,会自动进入调试状态,执行到断点时会自动停止 详细调试信息显示在顶部的调试输出面板。
调试面板按钮介绍
Continue program execution 继续执行下面的代码
Step over 单步调试 点击一次 执行一行代码 如有方法调用 不会进入方法中。
strip in步入调试 点击 会进入方法中。
Step out补出方法 点击 退出方法 执行方法外单步调试
点击会出现此时下面的视图层次结构
点击会让你选择你的地理位置

右面板

包括 俩部分 上侧的 检查器面板 下方库面板

检查器面板
检查面板分类:
普通源文件:包含 文件检查器 和 快速帮助器。
故事版:界面文件,除了 文件检查器 和 快速帮助器之外,还有身份检查器,属性检查器 大小检查器 连接检查器
文件检查器
Identify and Type: File Name(文件名)
File(文件类型) Full Path(路径)
Text Settings : Text Encoding(文件编码使用字符集) Indent Using(缩进) Wraplines(自动换行)
快速帮助器

界面设计相关检查器
用户选中 ”storyboard“ 或者”xib“后缀的文件时,会多出另外四个检查器;
身份检查器
管理界面组件类 实现类 恢复ID 等标识性的属性
属性检查器
管理界面组件 拉伸方式 背景色 等 属性
大小检查器
管理界面组件 宽高 xy 轴坐标 等属性;
连接检查器
管理界面组件 与程序代码之间的关联性

库面板

(项目的各种库文件,方便查找使用)
文件模板类
管理文件模板 可以快速创建指定类型文件 库直接拖入项目中。
代码片段库
管理各种代码片段,可以直接拖入源代码中
对象库
界面组件 ,可以直接拖入 故事版中;
媒体库
管理各种 图片 音频等媒体资源

详细编码区

该区域是代码编写的主要区域

推荐阅读更多精彩内容

  • 一、创建新一个工程二、Xcode界面详细介绍三、Xcode菜单详解四、Xcode快捷键介绍五、结语六、参考资料 前...
    王隆帅阅读 26,409评论 37 353
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 167,487评论 24 707
  • 最近雾霾天,本人也不免于难,喉咙干燥,有异物感,肺都要咳出来了还是觉得喉咙不舒服。 不停喝水,吃药,出门戴上防霾专...
    叶小小辞阅读 146评论 0 1
  • 今天看了刘润老师的《出租车司机给我上的MBA课》,连看你了三遍。总结一下个人的体会。1.做人要有乐观的心态,能看见...
    隆震阅读 154评论 0 0
  • 没有谁是一座孤岛,每本书都是一个世界。一个人无法自成孤岛,或者说,一个人至少无法自成最理想的孤岛。 A.J. 费克...
    BruceYuj阅读 194评论 0 0
  • 氨水x酚酞。 —— “公子你可知,”其人神色微动,“这京城北郊的汾水域,今日可有大热闹看了。” 汾水……? “听闻...
    云归弦阅读 378评论 1 3
  • 一、物料准备 Raspberry Pi 3 Model B with Android Things -- 怎样刷入...
    zly394阅读 675评论 0 7