Sean

笔记分享


  • 首页

  • 标签

  • 归档

  • 分类

  • 搜索
close

4 中级ios开发工程师面试题

发表于 2016-05-14   |   分类于 极客学院_ios中级   |  
#4 中级iOS开发工程师面试题 4.1 MVC的理解 MVC设计模式考虑三种对象:数据模型对象、视图对象、控制器对象。 数据模型(M):负责存储、定义、操作数据 视图(V):用来战术数据给用户,和用户进行操作交互 控制器(C):M与V的协调者,控制获取数据,将数据交给视图取展示 4.2 ...
阅读全文 »

3 动画图层部分

发表于 2016-05-14   |   分类于 极客学院_ios中级   |  
3.1 设计复杂的iOS动画效果3.1.1 制定统一的动画接口 说明:制定统一的动画接口有如下优点 便于实现后续复杂的动画组合 对于后续的代码维护极为方便 需要优先考虑里氏代换原则 3.1.2 动画中的高内聚低耦合原理 说明:将视图的动画效果的实现和视图本身封装到另一个UIV ...
阅读全文 »

2 UI部分

发表于 2016-05-14   |   分类于 极客学院_ios中级   |  
说明:iOS实战项目 2.1 汤姆猫小游戏(投诉下线)2.2 加法计算器 说明:本课时讲解 storyboard 中利用 UITextField、UILabel、UIButton 快速搭建器计算器UI界面,并在 viewController 中用代码完成计算的业务逻辑以及排除部分隐含 ...
阅读全文 »

1 了解ios项目开发

发表于 2016-05-14   |   分类于 极客学院_ios中级   |  
1.1 ios开发前准备1.1​ 苹果公司介绍 重要事件1976年创立1976年推出Apple 11977年推出Apple 21980年推出Apple 31983年推出Apple Lisa1984年推出Macintosh1991年推出PowerBook,2006年被MacBook系列取代 ...
阅读全文 »

4 初级ios开发工程师面试题

发表于 2016-05-14   |   分类于 极客学院_ios初级   |  
4.1 c语言4.1.1 指针 说明:a和&a包含的地址相同,但含义不同 a:数组的首地址,也就是 a[0]的地址 &a:对象的首地址,也就是数组的地址 123456789main { int a[5] = {1, 2, 3, 4, 5} ...
阅读全文 »

25 高级运算符

发表于 2016-05-13   |   分类于 The Swift Program Language 2   |  
25.1 位运算符 说明:Swift 支持 C 语言中的全部位运算符 符号 名称 返回值 复合运算符 ~ 按位取反 将每一个0替换成1,每一个1替换成0 ~= & 按位与 对两个操作数相应的位执行逻辑与运算 &= ^ 按位亦或 对两个操作数相应的位执行逻 ...
阅读全文 »

24 访问控制

发表于 2016-05-13   |   分类于 The Swift Program Language 2   |  
说明:访问控制可以限定其他源文件或模块中的代码对你的代码的访问级别。用途:这个特性可以让我们隐藏代码的一些实现细节,并且可以为其他人可以访问和使用的代码提供接口。约定:为了简单起见,对于代码中可以设置访问级别的特性(属性、基本类型、函数等),在下面的章节中我们会称之为实体。 24.1 模块 ...
阅读全文 »

23 范型

发表于 2016-05-13   |   分类于 The Swift Program Language 2   |  
说明:泛型代码可以让你编写适用自定义需求以及任意类型的灵活可重用的函数和类型。意义:它的可以让你避免重复的代码,用一种清晰和抽象的方式来表达代码的意图。 23.1 泛型所解决的问题 说明:有了泛型,就不必为各种不同类型重复创建类似的函数或类型。 23.2 泛型函数 说明:泛型函数可 ...
阅读全文 »

22 协议

发表于 2016-05-13   |   分类于 The Swift Program Language 2   |  
22.1 协议的语法 说明:协议的定义方式与类,结构体,枚举的定义非常相似。 要使类遵循某个协议,需要在类型名称后加上协议名称,中间以: 分隔,作为类型定义的一部分 遵循多个 协议时,各协议之间用逗号, 分隔 如果类在遵循协议的同时拥有父类,应该将父类名放在协议名之前,以,分隔 1234 ...
阅读全文 »

21 扩展

发表于 2016-05-13   |   分类于 The Swift Program Language 2   |  
说明:扩展就是为一个已有的类、结构体、枚举类型或者协议类型添加新功能(包括没有权限获取原始源代码的情况)。 添加计算型属性和计算类型属性 定义实例方法和类型方法 提供新的构造器 定义下标 定义和使用新的嵌套类型 是一个有类型符合某个协议 注意: 扩展可以为一个类型添加新的功能,但是不能重写已 ...
阅读全文 »

20 类型嵌套

发表于 2016-05-13   |   分类于 The Swift Program Language 2   |  
说明:Swift 允许你定义嵌套类型,可以在支持的类型中定义嵌套的枚举、类和结构体。可以根据需要定义多级嵌套。用途:方便地定义工具类或结构体来使用。 20.1 嵌套类型实践12345678910111213141516171819202122232425262728293031323334 ...
阅读全文 »

19 类型转换

发表于 2016-05-13   |   分类于 The Swift Program Language 2   |  
说明:类型转换可以判断实例的类型,也可以将实例看做是其父类或者子类的实例。操作符:is和as 检查值的类型:is 转换类型:as 19.1 定义一个类层次作为例子1234567891011121314151617181920212223242526272829303132//多媒体文件 ...
阅读全文 »

18 错误处理

发表于 2016-05-13   |   分类于 The Swift Program Language 2   |  
说明:错误处理是响应错误以及从错误中恢复的过程。可选类型可用来表示值缺失,但是当某个操作失败时,最好能得知失败的原因,从而可以作出相应的应对。扩展:Swift 中的错误处理涉及到错误处理模式,这会用到 Cocoa 和 Objective-C 中的NSError 18.1 表示并抛出错误 说 ...
阅读全文 »

17 可选链式调用

发表于 2016-05-13   |   分类于 The Swift Program Language 2   |  
是什么:是一种可以在当前值可能为nil的可选值上调用属性、方法及下标脚本的过程使用场景:请求或调用的目标当前可能为空(nil),这时使用!在一个连续调用的过程中有报错的可能。这时可以用作用域链的方式。特点: 如果可选的目标有值,调用成功;否则一律返回nil。 多次请求或调用可以被链接在一起形成一 ...
阅读全文 »

16 自动引用计数(ARC)

发表于 2016-05-13   |   分类于 The Swift Program Language 2   |  
说明:Swift 使用自动引用计数(ARC)机制来跟踪和管理你的应用程序的内存。适用类型:类(结构体和枚举是值类型) 16.1 自动引用计数的工作机制 说明:当你每次创建一个类的新的实例的时候,ARC 会分配一大块内存用来储存实例的信息。内存中会包含实例的类型信息,以及这个实例所有 ...
阅读全文 »

15 析构过程

发表于 2016-05-13   |   分类于 The Swift Program Language 2   |  
关键字:deinit支持:类数量:最多一个参数:无如何被调用:类的实例被释放之前自动调用(不允许主动调用)用途:当实例释放时进行一些额外的处理(比如关闭打开的文件) 15.1 析构过程原理 语法:不带()也不需要参数 123deinit{ // 手动释放一些资源 ...
阅读全文 »

14 构造过程

发表于 2016-05-13   |   分类于 The Swift Program Language 2   |  
构造过程:为某个类、结构体或枚举的实例中的每个属性设置初始值和为其执行必要准备和初始化任务。构造器:用来创建特定类型实例的特殊方法,保证实例在第一次使用前完成正确的初始化。 14.1 存储型属性的初始赋值 背景:类和结构体在创建实例时,必须为所有存储型属性设置合适的初始值。存储型属性的值不 ...
阅读全文 »

13 继承

发表于 2016-05-13   |   分类于 The Swift Program Language 2   |  
说明:一个类可以继承另一个类的方法,属性和其它特性 能力 相关成员 价值 调用 超类的方法、属性、下标脚本 代码重用 重写 超类的方法、属性、下标脚本 优化或修改它们的行为 监视 继承来的属性(通过添加属性(存储属性或计算属性)观察器) 当值改变时,类就会被通知到 ...
阅读全文 »

12 下标脚本

发表于 2016-05-13   |   分类于 The Swift Program Language 2   |  
用途:访问对象、集合、序列的快捷方式,可以使用下标脚本的索引设置和获取值,不需要再调用对应的存取方法支持:类、结构体、枚举特点: 同一个目类型可以定义多个附属脚本 可以通过索引值的类型进行重载 语法类似实例方法和计算属性的混合 12.1 语法 关键字:subscript、set、get ...
阅读全文 »

11 方法

发表于 2016-05-13   |   分类于 The Swift Program Language 2   |  
定义:与某些特定类型相关联的函数。 方法 支持类型 关联对象 实例方法 类、结构体、枚举 实例 类型方法 类、结构体、枚举 类型 11.1 实例方法 说明:写在它所属的类型的前后{}之间 能够隐式访问它所属类型的所有的其他实例方法和属性 只能被它所属的类的某个特定 ...
阅读全文 »

10 属性

发表于 2016-05-13   |   分类于 The Swift Program Language 2   |  
按从属区分 属性类型 特点 类型属性 类型本身的属性 实例属性 特定类型的实例的属性 按存储数据的方式区分 属性类型 特点 限制 定义方式 存储属性 存储常量或变量作为实例的一部分 类、结构体 let、var 计算属性 通过计算获取值的,值是不固定的 ...
阅读全文 »

9 类和结构体

发表于 2016-05-13   |   分类于 The Swift Program Language 2   |  
9.1 类和结构体对比 背景: 不需要为自定义类和结构创建独立的接口和实现文件,系统会自动生成面向其它代码的外部接口 类和结构体的关系比其它语言更加紧密 结构体总是通过被复制的方式在代码中传递,因此请不要使用引用计数 相同点 定义属性用于存储值 定义方法用于提供功能 定义附属脚本 ...
阅读全文 »

8 枚举类型

发表于 2016-05-13   |   分类于 The Swift Program Language 2   |  
说明:枚举为一组相关的值定义了一个共同的类型,使你可以在你的代码中以类型安全的方式来使用这些值。更加灵活: 原始值不是必需的:不必给每一个枚举成员提供一个值(原始值) 原始值类型:原始值的类型可以是字符串、字符、整型值或浮点数 关联值:枚举成员可以指定任意类型的关联值存储到枚举成员中 一等类型 ...
阅读全文 »

7 闭包

发表于 2016-05-13   |   分类于 The Swift Program Language 2   |  
描述:可以捕获和存储其所在上下文中任意常量或变量的引用的字包含的函数代码块。说明:由3种类型的闭包。 分类 是否有名字 捕获内容 适用 全局函数 是 无 严格说来不是闭包 嵌套函数 是 其封闭函数域内的变量或常量的引用 在较复杂函数中,需要命名和定义自包含代码模块的场景 闭 ...
阅读全文 »

6 函数

发表于 2016-05-13   |   分类于 The Swift Program Language 2   |  
说明:用来完成特定任务的独立的代码。 从简单到复杂:既可以定义最简单的没有参数名字的 C 风格函数,也可以定义复杂的带局部和外部参数名的 Objective-C 风格函数 默认参数值:参数可以提供默认值,以简化函数调用 In-out参数:参数前加 & 符,表示这个值可以被函数修改(只能针 ...
阅读全文 »

5 控制流

发表于 2016-05-13   |   分类于 The Swift Program Language 2   |  
5.1 for循环 说明:有两种形式 for-in for initialization; condition; increment(c语言形式) 5.1.1 for-in 说明:可以遍历的集合包括区间、Array、Set、String中的字符。 其中每次循环都会被赋值的常量不需 ...
阅读全文 »

4 集合类型

发表于 2016-05-13   |   分类于 The Swift Program Language 2   |  
说明:Array、Sets、Dictionary(Swift将这3中类型使纤维范型集合) 集合类型 说明 数组(Array) 有序数据集合 集合(Sets) 无序无重复数据的集 字典(Dictionaries) 无序的键值对的值 4.1 集合的可变性 说明:集 ...
阅读全文 »

3 字符串和字符

发表于 2016-05-13   |   分类于 The Swift Program Language 2   |  
说明:有序的Character类型的值的集合,通过String类来表示。 每一个字符串都是由编码无关的Unicide字符组成 可以通过內插的方式将字符串插入到常量、变量、字面量表达式中 扩展:和Cocoa中的Foundation框架中的NSString类进行了无缝对接 可以将创建的任何字符串 ...
阅读全文 »

2 基本运算符

发表于 2016-05-13   |   分类于 The Swift Program Language 2   |  
基本运算 正负 自加/减 自返运算 a+b +a a++/++a a+=b a-b -b b--/--b a-=b a*b a*=b a/b a/=b a%b a%=b [toc] 2.1 术语 运算符 按照操作数数量分类 说明 举例 ...
阅读全文 »

1 基础部分

发表于 2016-05-13   |   分类于 The Swift Program Language 2   |  
1.1 常量和变量 描述:常量和变量把一个名字和一个指定类型的值关良起来。说明:两者的区别在于设定后是否还能修改 常量:设定后不可能修改 变量:可以随意更改 1.1.1 声明常量和变量 共同规则: 可以在一行中声明多个,用,分隔 关键字: let:常量 var:变量 12 ...
阅读全文 »

简介

发表于 2016-05-13   |   分类于 The Swift Program Language 2   |  
0.1 关于Swift(About Swift)用途:编写IOS、OS X、watchOS应用程序特点归纳: 基于Cocoa和Cocoa Touch框架 自动垃圾回收(自动引用计数) 采用了Object-C的命名参数和动态对象模型,兼容Object-C,可以无缝对接到现有的Cocoa框架 支 ...
阅读全文 »

20 NSpredicate

发表于 2016-05-13   |   分类于 Objective-C基础教程第二版   |  
说明:Cocoa提供了一个名为NSPredicate的类,用于指定过滤器的条件。原理:可以创建NSPredicate对象,通过它准确描述所需的条件,通过谓词(计算真值和假值的函数)筛选每个对象,判断它们是否与条件相匹配。 20.1 创建谓词 说明:使用谓词有两种方式 方式 适用 ...
阅读全文 »

19 使用静态分析器

发表于 2016-05-13   |   分类于 Objective-C基础教程第二版   |  
说明:从Xcode 3.2开始加入的新功能,不需要运行程序就可以从逻辑上检测代码的工具,它可以寻找会演变成bug的错误。 19.1 静态工作 说明:静态分析器可以识别以下几种错误 安全问题:比如内存泄漏和缓冲区溢出 并发性问题:比如静态条件(也就是依赖时间的两个或多个任务失效) 逻辑问题 ...
阅读全文 »

18 键/值编码

发表于 2016-05-13   |   分类于 Objective-C基础教程第二版   |  
18.1 入门项目 说明: 18.2 KVC简介 说明:通过键/值编码(KVC),没有相应getter方法也能获取属性值,没有相应setter方法也能设置属性值。自动开箱和装箱:仅KVC具有这种功能,常规方法调用和属性语法不具备该功能。 valueForKey实例方法 说明:将属性名 ...
阅读全文 »

17 文件的加载与保存

发表于 2016-05-13   |   分类于 Objective-C基础教程第二版   |  
17.1 属性列表17.1.1 NSDatedate类方法 说明:获取当前日期和时间。原型:NSDate 1234/*** @return {instancetype} NSDate类实例*/+ (instancetype)date; dateWithTimeInt ...
阅读全文 »

16 UIKit简介

发表于 2016-05-13   |   分类于 Objective-C基础教程第二版   |  
说明:Mac应用程序使用的是AppKit框架,而iOS应用程序使用的是UIKit框架,它包含了所有的UI组件和构成iOS应用程序的资源。注意:iOS和OS X存在以下区别 没有shell和控制台 应用程序在Mac电脑的模拟器中运行 无法支持一些无UI界面的API 大部分程序员都认为开发iOS应用 ...
阅读全文 »

15 AppKit简介

发表于 2016-05-13   |   分类于 Objective-C基础教程第二版   |  
说明:Application Kit中包含Cocoa中关于用户界面的大量资源。注意:学习这一章节时,Xcode的最新版本是7.2,部分知识已经过时。比如目前storyboard已经基本取代了xib。 15.1 构建项目 说明:下面是通过Xcode构建Cocoa应用程序项目的步骤。 Fil ...
阅读全文 »

14 代码块和并发行

发表于 2016-05-13   |   分类于 Objective-C基础教程第二版   |  
14.1 代码块 说明:代码块是由C语言实现的,是对C语言中函数的扩展。支持的语言:Objective-C、C 、C++、Objective-C++用途:替代函数或实现闭包现状:代码块在Xcode的GCC和CLang工具中是有效的,但它不属于ANSI的C语言标准。关于代码块的提议已经提交给C语 ...
阅读全文 »

13 协议

发表于 2016-05-13   |   分类于 Objective-C基础教程第二版   |  
13.1 正式协议 说明:正式协议类似Java的接口。 声明协议:通过@protocol创建协议的声明。 采用协议:在类的@interface声明中列出协议的名称。 遵守协议:在类的@implementation中实现协议的所有方法(否则编译器会生成警告)。 13.1.1 声明协议 ...
阅读全文 »

12 类别

发表于 2016-05-13   |   分类于 Objective-C基础教程第二版   |  
说明:利用Objective-C的动态运行时分配机制,你可以为现有的类添加方法或计算属性,这种机制称为类别(category)。 可以在类中添加属性(@property),且只能是计算属性(不能添加实例变量) 可以向一个类添加任意数量的类别 类别可以访问其扩展的类的实例变量 总结:我将类别分3 ...
阅读全文 »

11 属性

发表于 2016-05-13   |   分类于 Objective-C基础教程第二版   |  
说明:O-C 2.0引入了属性(property),即@property预编译指令,它组合了新的预编译指令和新的属性访问器语法。用途:除非自己定义了相关代码,否则@property会根据特性自动生成属性及其setter和getter的声明和实现。兼容性:10.5+语法:@property[(特性) ...
阅读全文 »

10 对象初始化

发表于 2016-05-13   |   分类于 Objective-C基础教程第二版   |  
说明:创建对象有两种方式 类名 new [[类名 alloc] init] 技巧:Cocoa惯例是使用后一种方式 10.1 分配对象 说明:就是从操作系统获得一块内存,并将其指定为存放对象的实例变量的位置。语法:像某个类发送alloc消息 alloc实例方法 说明:为类实例分配一块足 ...
阅读全文 »

9 内存管理

发表于 2016-05-13   |   分类于 Objective-C基础教程第二版   |  
9.1 对象生命周期 说明:4个过程 诞生:通过alloc或new方法实现 生存:接收消息并执行操作 交友:通过复合以及向方法传递参数 死去:被释放掉 9.1.1 引用计数 说明:也叫保留计数,每个对象都有一个与之想关联的整数,被称作它的引用计数器或保留计数器。 相关操作 ...
阅读全文 »

8 Foundation Kit介绍

发表于 2016-05-13   |   分类于 Objective-C基础教程第二版   |  
说明:Cocoa的几个重要框架 框架 说明 兼容 备注 Foundation Kit 两类UI框架的基础,包含很多有用的、面向数据的简单类和数据类型 ios和OS X 基于CoreFoundation框架 Application Kit(Appkit) 包含所有用户界面对象和高 ...
阅读全文 »

7 深入了解Xcode

发表于 2016-05-13   |   分类于 Objective-C基础教程第二版   |  
7.1 窗口布局一览 说明:窗口的组成部分 组成 说明 相关功能 工具栏 位于窗口的最顶端 上面由很多工具按钮 导航器面板 位于窗口的左边,通常用来显示项目中的文件列表,也可以浏览其他内容 符号(symbol)、搜索(Search)、问题(Issue)、调试(Debug)、 ...
阅读全文 »

6 源文件组织

发表于 2016-05-13   |   分类于 Objective-C基础教程第二版   |  
说明:将程序拆分为多个小文件有助于更快地找到重要的代码。 6.1 拆分接口与实现 说明:接口放在.h文件,实现放在.m文件。 文件 存放代码 头文件(.h) 类的@interface指令、公共struct定义、enum常量、#defines和extern全局变量等 和类 ...
阅读全文 »

5 复合

发表于 2016-05-13   |   分类于 Objective-C基础教程第二版   |  
说明:建立类之间的关系除了继承还有复合 5.1 什么是复合 说明:使用复合可组合多个对象,让它们分工协作原理:在0-C 中,复合是通过包含作为实例变量的对象指针实现的。 5.2 自定义NSLog() 说明:在类中提供description方法就可以自定义NSLog()会如何输出对象 ...
阅读全文 »

4 继承

发表于 2016-05-13   |   分类于 Objective-C基础教程第二版   |  
说明:处理类和对象的关系时,要重视OOP的两个方面 继承:定义一个具有父类所有功能的新类 复合:在对象中引用其他对象 4.1 为何使用继承 说明:将所有重复的内容合并在一起,并在需要的地方拥有自定义的方法。不使用继承的架构使用继承后的架构 4.2 继承的语法格式 说明:@int ...
阅读全文 »

3 面向对象编程的基础知识

发表于 2016-05-13   |   分类于 Objective-C基础教程第二版   |  
OOP历史:演变自20世纪60年代的Simula、70年代的SmallTalk、80年代的Clascal以及其他相关语言。C++、Java、Python和Objective-C等现代编程语言都从这个早期的语言中获得了灵感。 3.1 间接只要在多加一层间接,计算机科学中就没有解决不了的问题。 ...
阅读全文 »

2 对c的扩展

发表于 2016-05-12   |   分类于 Objective-C基础教程第二版   |  
2.1 最简单的 Objective-C 程序 说明:项目创建过程如下 创建 workspace:File-New-Workspace 创建 project:File-New->Project 选择模版:OS X->Applicetion-> Command Line 选 ...
阅读全文 »
12345
Sean

Sean

整理了一批过去一段时间ios相关的笔记,其它的笔记也整理下?源码分享出来?再说吧...反正也只有自己会看吧...

218 日志
27 分类
36 标签
© 2017 Sean
由 Hexo 强力驱动
主题 - NexT.Mist