`

【IOS 开发】Object-C 入门 Xcode 环境详解

 
阅读更多

作者 : 韩曙亮

转载请注明出处 :http://blog.csdn.net/shulianghan/article/details/38424965


一. Xcode 环境安装 与 工程创建



1. 下载环境


相关资源下载 :

-- IOS 相关资料下载页面 :https://developer.apple.com/devcenter/ios/index.action ;

-- Xcode 下载页面 :https://developer.apple.com/xcode/downloads/ ;



2. 创建 Object-C 程序


进入主界面方式 : 打开 Xcode 之后, 可以使用 Xcode 菜单, 但是必须创建一个 Object-C 工程 或者 导入 一个 Object-C 工程才可以进入主界面;

-- 打开现有工程 : 点击右边的历史记录, 就可以打开现有的工程;

-- 创建工程 : 点击第一个 Create a new Xcode Project 即可创建一个新工程;

-- 导入工程 : 点击 Check out an existing project 可以导入一个已经创建的工程;



创建一个命令行程序 : 选择 创建工程界面的 OS X --> Command Line Tool 程序, 即创建了一个命令行程序, Cocoa Application 是创建有界面的程序;

-- ios 项目 : ios项目是为手机和平板开发的应用;

-- OS X 项目 : OS X 是为 OS 操作系统创建的应用;



创建工程 : 注明 工程名, 公司名称, 类型;

-- Product Name : 工程名称;

-- Organization Name : 组织名称;

-- Type : 这里选 Foundation, 这是 Object-C 工程;




3. 创建 IOS 项目


打开 Xcode 并选择创建新工程: 弹出菜单中选择 IOS --> Single View Application 工程;



填写项目信息:

--Product Name: 项目名称;

--Organization Name: 公司标识;

--Class Prefix: 为了避免用户定义类与 Object-C 类命名冲突问题, 在每个类之前都加上这个前缀;

--Devices: 选择应用运行的设备, Universal 表示同事兼容 ipad 和 iphone;



二. Xcode 界面详解


1. Xcode 界面简介




(1) 顶部区域


程序运行相关 :

-- 从左至右介绍 : 运行按钮, 停止按钮, 为工程选择运行平台;


编辑器相关 :

-- 从左至右介绍 : 标准编辑器, 辅助编辑器, 版本编辑器;


面板控制相关 :

-- 从左至右介绍 : 隐藏左侧面板, 隐藏底部面板, 隐藏右侧面板;



(2) 左面板




面板介绍 : 该面板是 Xcode 工程导航面板, 上方的七个按钮用于切换导航模式;



(3) 底部面板




面板介绍 : 用于 Xcode 显示 控制台调试输出信息;



(4) 右面板


检查器面板 : 根据项目的不同, 包含大量审查器;



库面板 :


-- 库面板简介(从左至右) : 文件模板库, 代码片段库, 对象库, 媒体库;



(5) 详细编辑区


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






2. 导航面板详解


导航面板简介 :

-- 从左至右 : 项目导航, 符号导航, 搜索导航, 问题导航, 测试导航, 调试导航, 断点导航, 日志导航;


(1) 项目导航




项目导航组成 :

-- 源文件 : 在 HelloWorld 目录下的 ".h" 和 ".m" 后缀文件是源文件;

-- 属性文件 : 在 HelloWorld 下的 Supporting Files 目录下是属性文件 图片等;

-- 单元测试项目 : HelloWorldTest 是工程的单元测试项目;

-- 目标应用 : Products 目录下的 HelloWorld.app 是目标应用;



(2) 符号导航




符号导航简介 : 用符号显示工程中的 类, 项目 和 属性;

-- 表示方式 : C 表示类, M 表示方法, P 表示属性;

-- 快速定位 : 点击对应的方法或者属性, 能快速定位到这个类中;



(3) 搜索导航



搜索导航简介 : 在搜索框中输入要搜索的字符串, 按回车就可以搜索出包含该字符串的类;



(4) 问题导航面板




问题导航面板简介 : 显示项目中存在的警告或者错误;



(5) 测试导航




测试导航简介: 点击 testExample 后面的执行按钮, 就会运行该单元测试;



(6) 调试导航




调试导航简介 : 调试导航面板中显示了各线程的详细信息;


添加断点 : 在 OCTViewController.m 中添加一个断点;



开始调试(自动判断): 点击顶部面板中的调试按钮, 如果代码中有断点, 就会自动进入调试状态, 执行到断点时会自动停止, 详细调试信息显示在底部的调试输出面板;



调试面板介绍 :下面从左至右介绍;

-- Continue program execution : 继续执行下面的代码;

-- Step over : 单步调试, 点击一次该按钮, 执行一行代码, 如果有方法调用, 不会进入方法中;

-- Strp in : 步入调试, 点击该按钮, 会进入方法中;

-- Step out : 步出调试, 在方法中, 点击该按钮, 会退出方法, 执行方法外的单步调试;



(7) 断点导航




断点导航简介 : 列出所有的断点, 方便管理断点;



(8) 日志导航




日志导航简介 : 列出项目开发过程中 构建, 生成, 运行过程, 每次该过程都可以通过日志面板查看;





3. 检查器面板


检查面板分类 :

-- 普通源文件 : 包含 文件检查器 和 快速帮助器;

-- 故事版 : 界面文件, 除了文件检查器 和 快速帮助器之外, 还有 身份检查器, 属性检查器, 大小检查器, 连接检查器;


文件检查器 :


-- Identity and Type : File Name(文件名), File Type(文件类型), Full Path(路径);

-- Text Settings : Text Encoding(文件编码使用字符集), Indent Using(缩进), Wrap lines(自动换行);


快速帮助器 : 将光标停留在系统类的时候, 该面板会显示该类的 参考手册, 使用指南 和 示例代码;




界面设计相关检查器 : 用户选中 ".storyboard" 或者 ".xib" 后缀的文件时, 会多出另外四个检查器;


-- 身份检查器 : 管理界面组件类 实现类, 恢复ID 等标识性的属性;

-- 属性检查器 : 管理界面组件 拉伸方式, 背景色 等属性;

-- 大小检查器 : 管理界面组件 宽高 xy轴坐标 等属性;

-- 连接检查器 : 管理界面组件 与程序代码之间的关联性;



4. 库面板




库面板简介 : 从左至右介绍;

-- 文件库模板 : 管理文件模板, 可以快速创建指定类型文件, 可以直接拖入项目中;

-- 代码片段库 : 管理各种代码片段, 可以直接拖入源代码中;

-- 对象库 : 界面组件, 可以直接拖入 故事板中;

-- 媒体库 : 管理各种 图片, 音频 等多媒体资源;



三. Xcode 帮助系统详解


帮助系统作用 : Object-C 开发中需要调用很多系统的类, 需要了解每个类的 用法, 通过 Xcode 帮助系统可以查询这些类的用法;



1. 快速帮助面板




右面板中的快速面板显示内容 : 该类继承的父类, 遵循的协议, 类所在框架, 点击Reference 中的链接, 可以进入类的详细介绍;


类详细介绍页面 : 通过 快速帮助面板 中的 Reference 中的链接, 可以进入该页面;



类方法分类界面 : 该界面与详细介绍界面是同一个, 下拉即可;



2. 直接搜索


搜索 : 通过任意链接进入类详细介绍界面之后, 可以在上方的输入框中输入关键字, 即可搜索相关的 类, 方法, 协议 或者 函数;



3. 代码自动提示


提示方式 : 代码编辑区域, 按住 option 键, 然后将光标移动到类上, 会变成问号, 点击就会出现下面的提示框;




四. Hello World 程序



1. 文件扩展名介绍


C语言源文件后缀 : ".c";

C++语言源文件后缀 : ".cc", ".cpp";

头文件 : ".h";

Object-C源程序 : ".m";

Object-C++源程序 : ".mm";

C/C++/Object-C/Object-C++生成的中间文件 : ".o";

C/C++/Object-C/Object-C++生成的可执行文件 : ".out";



2. 程序源码及解析


程序源码 :

/* 导入 Foundation 框架下的 Foundation.h 文件 */
#include <Foundation/Foundation.h>

/* 程序入口函数 */
int main(int argc, char * argv[])
{
	/* 自动释放池, 该环境中执行的语句会自动回收所创建的对象 */
	@autoreleasepool
	{
		/* Foundation 中的输出函数, 可输出字符串, 对象等 */
		NSLog(@"Hello World"); /* @"Hello World", 加上 @ 是为了与 C 中的字符串区分 */
	}
	return 0;
}


(1) 导入框架头文件


导入头文件语句 : #import <a/b.h> 是导入 a 框架 中的 b.h 头文件;


框架简介 : 框架是 一系列类 函数的集合, Cocoa QuickTime 都被封装成了框架, Cocoa 包括了 Foundation 和 Application Kit 等组件;



(2) 自动释放池


内存管理 : 在早期的 Object-C 需要手动管理内存的分配和回收, Object-C 2.0 引入了 ARC(自动引用计数)自动释放池, 不在进行手动内存管理;


自动释放池 : 使用 "@autoreleasepool{}" 包裹的代码位于 Object-C 的自动释放池中, 这些语句会自动回收创建的对象, 不用进行手动的内存管理;



(3) 字符串输出


NSLog()函数 : 该函数是 Foundation 框架提供的一个函数, 该函数可以输出 字符串 对象等;

-- NS 前缀说明 : Cocoa 框架中所有的 类 函数 常量 都会加上 NS 前缀;

-- @"string" 说明 : @符号 用于区分 Object-C 与 C语言字符串, 加上 @ 符号的时 Object-C 字符串;



3. 编译运行代码


LLVM Clang 编译器语法 : clang -fobjc-arc -framwork 框架名称 源程序 -o 输出结果 ;

-- -fobjc-arc 参数 : 启用 Object-C 的 ARC 自动技术功能;

-- -o 参数 : 如果不带, 默认 输出 a.out ;


编译执行结果 :

octopus-2:ios octopus$ clang -fobjc-arc -framework Foundation 01-HelloWorld.m 
octopus-2:ios octopus$ ls
01-HelloWorld.m	a.out
octopus-2:ios octopus$ ./a.out 
2014-08-10 00:22:55.670 a.out[3394:507] Hello World




作者:韩曙亮

转载请注明出处:http://blog.csdn.net/shulianghan/article/details/38424965


分享到:
评论

相关推荐

    Object-c 入门教程

    ### Objective-C 入门教程详解 #### 一、Objective-C 概述 Objective-C 是一种通用、面向对象的编程语言,它是在标准 C 语言的基础上加入了面向对象的概念和技术。Objective-C 最初由 Stepstone 公司开发,并在 ...

    Object-C 入门教程-object-c如何学习

    ### Objective-C 入门知识点详解 #### 一、Objective-C 概述 Objective-C 是一种简单而强大的面向对象编程语言,旨在支持真正的面向对象编程。它通过提供类定义、方法和属性的语法以及一系列增强类动态扩展能力的...

    Object-C语言教程&案例&相关项目资源.zip

    Xcode集成开发环境** Xcode是苹果官方的开发工具,包含了代码编辑器、调试器、模拟器和构建工具,用于编写Objective-C代码和构建iOS及macOS应用。 **5. iOS开发实践** - **Interface Builder**:Xcode中的设计...

    iOS企业培训视频Object-C基础等教程 就业班全套课程 从基础到就业不是梦

    - **iOS开发环境搭建**:安装Xcode集成开发环境及其组件介绍。 - **Objective-C语言基础**: - 数据类型与变量 - 运算符与表达式 - 控制结构(if语句、switch语句、循环语句) - 函数定义与调用 - 数组与集合 -...

    Object-C语言教程&案例&相关项目资源.docx

    **Xcode**是Apple提供的官方开发环境,支持Objective-C语言编程。它不仅包含集成开发环境(IDE),还提供了一系列工具和框架,帮助开发者高效地开发iOS和macOS应用。 #### 五、案例分析 1. **Hello World 程序**: ...

    yolov5-ios-tensorflow-lite-main.zip

    《YOLOv5在iOS平台上的TensorFlow Lite实践详解》 YOLO(You Only Look Once)是一种基于深度学习的目标检测框架,以其实时性、高效性和准确性受到广泛关注。YOLOv5是该系列的最新版本,它在前代的基础上进行了优化...

    object-c基础入门

    ### Objective-C基础入门知识点详解 #### 一、Objective-C与Cocoa框架简介 - **Cocoa框架集**:苹果公司提供了Cocoa、Carbon、QuickTime和OpenGL等技术框架集,这些框架集中Cocoa是最核心的部分,它专为Mac OS X和...

    精通Object-C:从基础到高级项目实践.docx

    - **Xcode**:苹果官方提供的集成开发环境,支持iOS、macOS等多个平台的应用开发。 - **Git版本控制**:利用Git进行源代码版本管理和协作开发。 #### 五、实战案例分析 - **简单的iOS应用开发**:创建用户界面、...

    Object-Oriented Programming with Objective-C

    - **Xcode集成开发环境**:Xcode是苹果官方提供的集成开发环境,支持Objective-C语言的开发、调试和测试。 - **iOS应用开发**:Objective-C是早期iOS应用开发的主要语言之一,虽然Swift语言现在更为流行,但...

    iOS控件 -- UIImageView使用详解

    在iOS开发中,UIImageView是用于显示图像的UI控件,它是UIKit框架的一部分。这个控件在用户界面设计中扮演着重要角色,无论是显示应用图标、背景图片还是用户头像,UIImageView都是不可或缺的元素。本篇文章将深入...

    object-c会说话的汤姆猫源码and素材

    2. **Xcode集成开发环境**:Xcode是Apple官方提供的开发工具,包含代码编辑器、调试器、模拟器等功能,是iOS开发者必备的工具。Xcode 7.3版本在本项目中用于编写、编译和测试代码。 3. **用户界面设计**:会说话的...

    Object-C基础教程_高清扫描_带可跳转详细目录_apk版

    10. **Xcode开发环境** Xcode是Apple官方的开发工具,集成IDE、编译器、调试器等,用于编写Objective-C代码。 11. **可跳转详细目录** 在教程中,一个带有可跳转详细目录的功能有助于学习者快速定位所需内容,...

    Object-C中文版

    - 安装**XCode**,它是Apple提供的集成开发环境。 **Windows NT5.X**: - 安装**cygwin**或**mingw**,再安装**GNUStep**。 #### 三、基本概念 **nil**:Objective-C中的`nil`类似于C/C++中的`NULL`,但可以安全...

    Object-C学习大纲.pdf

    ### Object-C 学习大纲详解 #### 一、Object-C 的历史与发展 - **起源**:Object-C 语言起源于20世纪80年代,由 Brad Cox 发明。 - **发展**:它是在 C 语言的基础上增加了面向对象的特性而形成的一种编程语言。 -...

    手把手教你制作.a静态库(iOS开发) - 简书1

    iOS 开发中,静态库(Static Library)是一种非常重要的资源,它可以将多个对象文件(Object File)打包成一个文件,以便于在多个工程中重复使用。下面我们将手把手教您制作一个简单的静态库。 首先,我们需要创建...

    Programming in object-c 2.0.pdf

    要进行Objective-C编程,首先需要安装Xcode集成开发环境(IDE)。Xcode是由苹果公司提供的官方开发工具,支持Objective-C、Swift等多种语言。 ##### 2.2 基本语法与数据类型 Objective-C是一种面向对象的语言,继承...

    Objective-C入门指南

    ### Objective-C入门指南知识点详解 #### 一、Objective-C简介 **Objective-C**是一种面向对象的编程语言,它是在标准C的基础上发展而来的,并且增加了面向对象的功能。Objective-C是苹果公司开发iOS和macOS应用的...

Global site tag (gtag.js) - Google Analytics