树的芳香由风决定,人生的芳香由自己决定!
Xcode 常用快捷键 1)文件: command + shift + n 新建项目 command + n 新建文件 command + control + n 新建空文件 ...
Mac 锁屏快捷键设置 control + shift + Eject 锁屏快捷键 如果用户要离开电脑一段时间,可以选择直接把笔记本直接合上。但是这样原先在跑的进程就会挂起或者结束,如果正在下载,那么下载就被暂停(有时还不能恢复),如果正在提供网络服务,那么因为网络断了,别人也连不上你的笔记本。
Mac Vim 编辑器 1)vi 文本编辑器 1、打开一个文件:vi 文件名 按住 shift 连按两次 z 键( :q )退出 vi 编辑器 2、vi 两种模式:第一是命令模式(按 esc 进入命令模式),第二是编辑模式(按 i 进入编辑模式) 3、保存...
Mac OS X 终端设置 1)Finder 中显示资源库 方法一: 在 “终端” 中输入下面的命令: 显示: chflags nohidden ~/Library/ 隐藏: chflags hidden ~/Library/ 方法二: 打开 Finder,菜单中选择前往按住 option 键就会显示资源库项(每次打开都需要重复操作一次)。
Mac OS X 终端命令 1)显示当前目录的路径 pwd 2)列出文件 ls 参数 目录名 参数: -w 显示中文,-l 详细信息, -a 包括隐藏文件,每一行开头是 “d” 则为文件夹,开头是 “-” 则为文件。
Mac OS X 常用快捷键 1)快捷键图标: Escape 为 esc 键 无 Eject 键时用电源键代替 Space Bar 为空格键 2)基本快捷键: command + x 剪切文字 comm...
1、项目流程 1.1 分析项目的架构 iOS 常见的几种架构 标签式 Tab Menu 列表式 List Menu 抽屉式 Drawer 瀑布式 Waterfall 跳板式 Springborad 陈列馆式 Gallery 旋转木马式 Carousel 点聚式 Plus 1.
前言 1)操作符两端必须加空格,(每行第一个赋值语句对齐)。 2)变量名必须是英文(不能是拼音):英文、数字、下划线和美元符号。 3)等于号 == 反过来写(0 == i%4)防止少些赋值号的错误。 4)通常不省略分支括号。
1、数据类型 2、常量 1)凡是整数数字常量一律是 int 型。 2)typedef 和 define。 typedef 定义类型, #define 只是字符串替换。 3)在编写整形常量时,可以在常量的后面加上符号 L 或者 U 进行修饰。
前言 @interface NSStream : NSObject @interface NSOutputStream : NSStream 1、文件流的使用 NSString *filePath = @"/Users/JHQ0228/Desktop/test.
前言 NSCache 是苹果提供的一个专门用来做缓存的类,当内存 "不足" 或超过限制的时候,会自动清理缓存,使用时可以指定缓存的数量和成本。用法与 NSMutableDictionary 的用法很相似,在 AFNetworking 和 SDWebImage 中,都使用它来管理缓存。
1、运行时 运行时是苹果提供的纯 C 语言的开发库,是一种非常牛逼、开发中经常用到的底层技术。 1.1 运行时原理 Objective-C 是一门简单的语言,95% 是 C,只是在语言层面上加了些关键字和语法,真正让 Objective-C 如此强大的是它的运行时。
1、RunLoop 1)运行循环: 运行循环在 iOS 开发中几乎不用,但是概念的理解却非常重要。 同一个方法中的代码一般都在同一个运行循环中执行,运行循环监听 UI 界面的修改事件,待本次运行循环结束时,统一将界面的修改渲染出来。
1、Category 1)分类/类别(category): 允许以模块的方式向现有类定义添加新的方法(默认不能添加实例变量)。用以扩展自己或他人以前实现的类,使它适合自己的需要。 分类的名称括在类名之后的一对圆括号 "( )" 中。
前言 相对于 Java,OC 语言是一门古老的语言了,而它又是一门不断发展完善的语言。一些新的编译特性,为 OC 语言带来了许多新的活力。在 Xcode7 中,iOS9 的 SDK 已经全面兼容了 Objective-C 的一些新特 性和新功能。
前言 copy:需要先实现 NSCopying 协议,创建的是不可变副本。 mutableCopy:需要实现 NSMutableCopying 协议,创建的是可变副本。 浅拷贝:指针拷贝,源对象和副本指向的是同一个对象。
前言 Block 是一段预先准备好的代码,可以在需要的时候执行,可以当作参数传递。Block 可以作为函数参数或者函数的返回值,而其本身又可以带输入参数或返回值。Block 是 C 语言的,类似于一个匿名函数,它和传统的函数指针很类似,但是 Block 是 inline(内联函数)的,并且默认情况下它对局部变量是只读的。
前言 对于一个单例类,无论初始化单例对象多少次,在程序的整个生命周期内,只会创建一个类的实例对象,而且只要程序不被杀死,该实例对象就不会被释放,并且该对象是全局的,能够被整个系统访问到。 在应用这个模式时,单例对象的类必须保证只有一个实例存在。
前言 采用 SQLite 数据库来存储数据。SQLite 作为一中小型数据库,应用 iOS 中,跟前三种保存方式相比,相对比较复杂一些。 注意:写入数据库,字符串可以采用 char 方式,而从数据库中取出 char 类型,当 char 类型有表示中文字符时,会出现乱码。
前言 @interface NSFileManager : NSObject @interface NSFileHandle : NSObject NSFileManager 是 Foundation 框架中用来管理和操作文件、目录等文件系统相关联内容的类。
前言 直接将数据写在代码里面,不是一种合理的做法。如果数据经常改,就要经常翻开对应的代码进行修改,造成代码扩展性低。因此,可以考虑将经常变的数据放在文件中进行存储,程序启动后从文件中读取最新的数据。如果要变动数据,直接修改数据文件即可,不用修改代码。
前言 @interface NSUserDefaults : NSObject 用来保存应用程序设置和属性、用户保存的数据。用户再次打开程序或开机后这些数据仍然存在。如果往 userDefaults 里存了一个可变数组,取出来的时候这个数组对象就变成了不可变的。
前言 @interface NSKeyedArchiver : NSCoder @interface NSKeyedUnarchiver : NSCoder 在 OC 语言中,归档是一个过程,即用某种格式来保存一个或多个对象,以便以后还原这些对象。
1、Sandbox 沙箱 iOS 为每个应用提供了独立的文件空间,一个应用只能直接访问为本应用分配的文件目录,不可以访问其他目录,每个应用自己独立的访问空间被称为该应用的沙盒。也就是说,一个应用与文件系统的交互绝大部分都被限制在它自己的应用沙盒内。
前言 @interface NSNull : NSObject 作为占据空间的一个空值,如用在数组或字典中占据一个没有任何值的空间。 NULL & nil 的区别: nil 是 OC 的,空对象,地址指向空的对象,指针地址指向的是 NULL。
前言 @interface NSProcessInfo : NSObject NSProcessInfo 类中包含一些方法,允许你设置或检索正在运行的应用程序(即进程)的各种类型的信息。 1、获取系统进程信息 // 创建系统进程信息对象 NSProcessInfo *pr...
前言 @interface NSTimer : NSObject @interface CADisplayLink : NSObject 作用 在指定的时间执行指定的任务。
前言 @interface NSEnumerator : NSObject Xcode 7 对系统中常用的一系列容器类型都增加了泛型支持(),有了泛型后就可以指定容器类中对象的类型了。假如向泛型容器中加入错误的对象,编译器会报警告。
前言 NSDate @interface NSDate : NSObject NSDate 用来表示公历的 GMT 时间(格林威治时间)。是独立与任何历法的,它只是时间相对于某个时间点的时间差;NSDate 是进行日历计算的基础。
前言 @interface NSLocale : NSObject NSLocale 类返回本地化信息,主要体现在"语言"和"区域格式"这两个设置项。 1、NSLocale 本地化信息的创建 // 用标示符创建 NSLocale *locale1 = [[NSLocal...
前言 @interface NSTimeZone : NSObject NSTimeZone 表示时区信息。 1、NSTimeZone 时区的创建 NSTimeZone *zone1 = [[NSTimeZone alloc] init]; // 根据...
前言 @interface NSNumber : NSValue @interface NSDecimalNumber : NSNumber 将基本数据类型包装成 OC 对象 1、NSNumber 与 基本数据类型 的相互转换 // 基本数据类型 转 NSNumber ...
前言 @interface NSValue : NSObject 将任意数据类型包装成 OC 对象 1、比较两个 NSValue 类型数据的大小 NSValue *value1 = [NSValue valueWithPoint:NSMakePoint(10, 32)]; ...
前言 @interface NSData : NSObject @interface NSMutableData : NSData NSData 和它的可变长子类 NSMutableData 是字节缓冲区的对象化封装。
前言 @interface NSDictionary : NSObject @interface NSMutableDictionary : NSDictionary 字典只能存储 OC 对象,不能存储 C 语言中的基本数据类型,也不能存储 nil 。
前言 NSSet:集合 @interface NSSet : NSObject @interface NSMutableSet : NSSet NSSet 集合跟数组差不多,但 Set 集合不能存放相同的对象,它是一组单值对象的集合,被存放进集合中的数据是无序的,它可以是可变的,也可以是不变的。
前言 @interface NSArray : NSObject @interface NSMutableArray : NSArray 数组只能存储 OC 对象,不能存储 C 语言中的基本数据类型,也不能存储 nil 。
前言 结构体 这个结构体用来表示事物的坐标点和宽高度。 typedef CGRect NSRect; struct CGRect { CGPoint origin; CGSize size; }; typedef struct ...
前言 结构体,这个结构体用来表示事物的宽度和高度。 typedef CGSize NSSize; struct CGSize { CGFloat width; CGFloat height; }; typedef struct ...
前言 结构体,这个结构体用来表示事物的一个坐标点。 typedef CGPoint NSPoint; struct CGPoint { CGFloat x; CGFloat y; }; typedef struct CGPoin...
前言 结构体,这个结构体用来表示事物的一个范围,通常是字符串里的字符范围或者集合里的元素范围。 typedef struct _NSRange { NSUInteger location; // 表示该范围的起始位置 NSUInteger len...
1、结构体的定义与调用 // 定义结构体类型 // 结构体类型名为 MyDate1 struct MyDate1 { int year; int month; ...
前言 iOS 5.0 之后,提供了新的枚举定义方式,定义枚举的同时,可以指定枚举中数据的类型。 typedef NS_OPTIONS(_type, _name) new; -> 位移的,可以使用 按位或 设置数值 typedef NS_ENUM(_type, _name) new; -> 数字的,直接使用枚举设置数值 位移型枚举: 使用 按位或 可以给一个参数同时设置多个 "类型"。
前言 框架是由许多类、方法、函数和文档按照一定的逻辑组织起来的集合,以使研发程序更容易。 Foundation 框架:为所有程序开发奠定基础的框架称为 Foundation 框架。 Cocoa :是指 Foundation 、Core Data 和 AppKit(Application Kit)框架。
1、iOS 开发技术体系 iOS 开发技术体系图: 层级 主要框架 Cocoa Touch UIKit 等 Media Core Graphics 、OpenGl ES、Core Animation 等 Core Services Core Data、Foundation 等 Core OS Accelerate Framework、External Accessory Framework、Security Framework、System 等 从图中可以看到,要想编写成型的产品,需要的不仅仅是语言本身,同时许多库需要协同使用。
前言 在 Swift 语言中,我们可以使用 Objective-C、C 语言编写代码,我们可以导入任意用 Objective-C 写的 Cocoa 平台框架、Objective-C 框架或 C 类库。
前言 在 Objective-C 语言中,我们可以使用 C、Swift 语言编写代码,我们可以导入任意用 C、Swift 写的 Cocoa 平台框架、C 框架或 Swift 类库。 1、在 C 中使用 Objective-C 代码 1.1 在 Objective-C 项目中的 C 函数中使用 Objective-C 代码 1> 在 .m 文件中定义函数指针。
1、术语表
1、@try 语句 @try { // Code that can potentially throw an exception 可能会抛出异常的代码块 statement .
1、OC 基本内存管理模型 1.1 自动垃圾收集 在 OC 2.0 中,有一种称为垃圾收集的内存管理形式。通过垃圾收集,系统能够自动监测对象是否拥有其他的对象,当程序执行需要空间的时候,不再被引用的对象会自动释放。