11 2016 档案
UISearchController,SearchBar的教程-Swift
摘要:如果你的应用程序里显示了大量的数据,滚动的查看大规模的列表会很慢,也会给人一种烦躁的感觉。在这种情况下,查询UISearchController, UISearchBar是极其重要的,可以让用户搜索特点的项目。非常幸运的是,UIKit包含了UISearchBar, 并且完美的集成了UITableVi 阅读全文
posted @ 2016-11-30 17:56 ming1025 阅读(1523) 评论(0) 推荐(0) 编辑
Welcome-to-Swift-24高级运算符(Advanced Operators)
摘要:除了基本操作符中所讲的运算符,Swift还有许多复杂的高级运算符,包括了C语和Objective-C中的位运算符和移位运算。 不同于C语言中的数值计算,Swift的数值计算默认是不可溢出的。溢出行为会被捕获并报告为错误。你是故意的?好吧,你可以使用Swift为你准备的另一套默认允许溢出的数值运算符, 阅读全文
posted @ 2016-11-24 09:03 ming1025 阅读(221) 评论(0) 推荐(0) 编辑
Welcome-to-Swift-23访问控制(Access Control)
摘要:访问控制可以限定你在源文件或模块中访问代码的级别,也就是说可以控制哪些代码你可以访问,哪些代码你不能访问。这个特性可以让我们隐藏功能实现的一些细节,并且可以明确的指定我们提供给其他人的接口中哪些部分是他们可以使用的,哪些是他们看不到的。 你可以明确的给类、结构体、枚举、设置访问级别,也可以给属性、函 阅读全文
posted @ 2016-11-24 09:01 ming1025 阅读(146) 评论(0) 推荐(0) 编辑
Welcome-to-Swift-22泛型(Generics)
摘要:泛型代码可以确保你写出灵活的,可重用的函数和定义出任何你所确定好的需求的类型。你可以写出避免重复的代码,并且用一种清晰的,抽象的方式表达出来。 泛型是Swift许多强大特征中的其中一个,许多Swift标准库是通过泛型代码构建出来的。事实上,你已经使用泛型贯穿着整个Language Guide,即便你 阅读全文
posted @ 2016-11-24 09:00 ming1025 阅读(251) 评论(0) 推荐(0) 编辑
Welcome-to-Swift-21协议(Protocols)
摘要:协议定义了一个方法的蓝图,属性和其他适合特定任务或功能的要求。协议实际上并不提供一个这些要求的实现,它只是描述了一个实现会是什么样子。协议可以通过一个类,结构或枚举提供这些要求的具体实现。满足要求的任何类型的协议都是符合协议。 协议可以要求符合类型有特定的实例属性,实例方法,类型丰富,操作符和下标。 阅读全文
posted @ 2016-11-24 08:58 ming1025 阅读(218) 评论(0) 推荐(0) 编辑
Welcome-to-Swift-20扩展(Extensions)
摘要:扩展就是向一个已有的类、结构体或枚举类型添加新功能(functionality)。这包括在没有权限获取原始源代码的情况下扩展类型的能力(即逆向建模)。扩展和 Objective-C 中的分类(categories)类似。(不过与Objective-C不同的是,Swift 的扩展没有名字。) Swif 阅读全文
posted @ 2016-11-24 08:55 ming1025 阅读(151) 评论(0) 推荐(0) 编辑
Welcome-to-Swift-19类型嵌套(Nested Types)
摘要:枚举类型常被用于实现特定类或结构体的功能。也能够在有多种变量类型的环境中,方便地定义通用类或结构体来使用,为了实现这种功能,Swift允许你定义类型嵌套,可以在枚举类型、类和结构体中定义支持嵌套的类型。 要在一个类型中嵌套另一个类型,将需要嵌套的类型的定义写在被嵌套类型的区域{}内,而且可以根据需要 阅读全文
posted @ 2016-11-24 08:53 ming1025 阅读(149) 评论(0) 推荐(0) 编辑
Welcome-to-Swift-18类型转换(Type Casting)
摘要:类型转换是一种检查类实例的方式,并且哦或者也是让实例作为它的父类或者子类的一种方式。 Type casting is a way to check the type of an instance, and/or to treat that instance as if it is a differe 阅读全文
posted @ 2016-11-24 08:49 ming1025 阅读(179) 评论(0) 推荐(0) 编辑
Welcome-to-Swift-17自判断链接(Optional Chaining)
摘要:自判断链接(Optional Chaining)是一种可以请求和调用属性、方法及子脚本的过程,它的自判断性体现于请求或调用的目标当前可能为空(nil)。如果自判断的目标有值,那么调用就会成功;相反,如果选择的目标为空(nil),则这种调用将返回空(nil)。多次请求或调用可以被链接在一起形成一个链, 阅读全文
posted @ 2016-11-24 08:48 ming1025 阅读(164) 评论(0) 推荐(0) 编辑
Welcome-to-Swift-16自动引用计数(Automatic Reference Counting)
摘要:Swift使用自动引用计数(ARC)来跟踪并管理应用使用的内存。大部分情况下,这意味着在Swift语言中,内存管理"仍然工作",不需要自己去考虑内存管理的事情。当实例不再被使用时,ARC会自动释放这些类的实例所占用的内存。 然而,在少数情况下,为了自动的管理内存空间,ARC需要了解关于你的代码片段之 阅读全文
posted @ 2016-11-24 08:46 ming1025 阅读(123) 评论(0) 推荐(0) 编辑
Welcome-to-Swift-15反初始化(Deinitialization)
摘要:在一个类的实例被释放之前,反初始化函数被立即调用。用关键字deinit来标示反初始化函数,类似于初始化函数用init来标示。反初始化函数只适用于类类型。 反初始化原理 Swift会自动释放不再需要的实例以释放资源。如自动引用计数那一章描述,Swift通过自动引用计数(ARC)处理实例的内存管理。通常 阅读全文
posted @ 2016-11-24 08:44 ming1025 阅读(352) 评论(0) 推荐(0) 编辑
Welcome-to-Swift-14构造过程(Initialization)
摘要:构造过程是为了使用某个类、结构体或枚举类型的实例而进行的准备过程。这个过程包含了为实例中的每个属性设置初始值和为其执行必要的准备和初始化任务。 构造过程是通过定义构造器(Initializers)来实现的,这些构造器可以看做是用来创建特定类型实例的特殊方法。与 Objective-C 中的构造器不同 阅读全文
posted @ 2016-11-24 08:43 ming1025 阅读(173) 评论(0) 推荐(0) 编辑
Welcome-to-Swift-13继承(Inheritance)
摘要:一个类可以继承(inherit)另一个类的方法(methods),属性(property)和其它特性。当一个类继承其它类时,继承类叫子类(subclass),被继承类叫超类(或父类,superclass)。在 Swift 中,继承是区分「类」与其它类型的一个基本特征。 在 Swift 中,类可以调用 阅读全文
posted @ 2016-11-24 08:42 ming1025 阅读(136) 评论(0) 推荐(0) 编辑
Welcome-to-Swift-12附属脚本(Subscripts)
摘要:附属脚本 可以定义在类(Class)、结构体(structure)和枚举(enumeration)这些目标中,可以认为是访问对象、集合或序列的快捷方式,不需要再调用实例的特定的赋值和访问方法。举例来说,用附属脚本访问一个数组(Array)实例中的元素可以这样写 someArray[index] ,访 阅读全文
posted @ 2016-11-23 17:24 ming1025 阅读(145) 评论(0) 推荐(0) 编辑
Welcome-to-Swift-11方法(Methods)
摘要:方法是由特定类型关联起来的函数。类、结构体和枚举都能定义成实例方法。它封装了特定的任务和给定类型的实例的功能函数。类,结构体和方法也能定义类型方法,它只与类型的本身由关联。类型方法和Objective-C的类方法类似。 实际上,Swift与C和Objective-C的主要区别就是结构体和枚举可以定义 阅读全文
posted @ 2016-11-23 17:20 ming1025 阅读(124) 评论(0) 推荐(0) 编辑
Welcome-to-Swift-10属性 (Properties)
摘要:属性将值跟特定的类、结构或枚举关联。存储属性存储常量或变量作为实例的一部分,计算属性计算(而不是存储)一个值。计算属性可以用于类、结构体和枚举里,存储属性只能用于类和结构体。 存储属性和计算属性通常用于特定类型的实例,但是,属性也可以直接用于类型本身,这种属性称为类型属性。 另外,还可以定义属性监视 阅读全文
posted @ 2016-11-23 17:19 ming1025 阅读(151) 评论(0) 推荐(0) 编辑
Welcome-to-Swift-09类和结构体(Classes and Structures)
摘要:类和结构体是人们构建代码所用的一种通用且灵活的构造体。为了在类和结构体中实现各种功能,我们必须要严格按照对于常量,变量以及函数所规定的语法规则来定义属性和添加方法。 与其他编程语言所不同的是,Swift 并不要求你为自定义类和结构去创建独立的接口和实现文件。你所要做的是在一个单一文件中定义一个类或者 阅读全文
posted @ 2016-11-23 17:15 ming1025 阅读(140) 评论(0) 推荐(0) 编辑
Welcome-to-Swift-08枚举 (Enumerations)
摘要:枚举为一系相关联的值定义了一个公共的组类型.同时能够让你在编程的时候在类型安全的情况下去使用这些值。 如果你对C语言很熟悉,你肯定知道在C语言中枚举类型就是一系列具有被指定有关联名称的的整数值.但在Swift中枚举类型就更加灵活了,并且你不必给枚举类型中的每个成员都赋值。如果把一个值(假设值为"ra 阅读全文
posted @ 2016-11-23 17:13 ming1025 阅读(136) 评论(0) 推荐(0) 编辑
Welcome-to-Swift-07闭包(Closures)
摘要:闭包是自包含的函数代码块,可以在代码中被传递和使用。 Swift 中的闭包与 C 和 Objective-C 中的代码块(blocks)以及其他一些编程语言中的 lambdas 函数比较相似。 闭包可以捕获和存储其所在上下文中任意常量和变量的引用。 这就是所谓的闭合并包裹着这些常量和变量,俗称闭包。 阅读全文
posted @ 2016-11-23 17:12 ming1025 阅读(141) 评论(0) 推荐(0) 编辑
Welcome-to-Swift-06函数(Functions)
摘要:函数是执行特定任务的代码自包含块。给定一个函数名称标识, 当执行其任务时就可以用这个标识来进行"调用"。 Swift的统一的功能语法足够灵活来表达任何东西,无论是甚至没有参数名称的简单的C风格的函数表达式,还是需要为每个本地参数和外部参数设置复杂名称的Objective-C语言风格的函数。参数提供默 阅读全文
posted @ 2016-11-23 17:10 ming1025 阅读(157) 评论(0) 推荐(0) 编辑
Welcome-to-Swift-05控制流(Control Flow )
摘要:Swift提供了所有c类语言的控制流结构。包括for和while循环来执行一个任务多次;if和switch语句来执行确定的条件下不同的分支的代码;break和continue关键字能将运行流程转到你代码的另一个点上。 除了C语言传统的for-condition-increment循环,Swift加入 阅读全文
posted @ 2016-11-23 17:09 ming1025 阅读(235) 评论(0) 推荐(0) 编辑
Welcome-to-Swift-04集合类型(Collection Types)
摘要:Swift提供了两种集合类型来存放多个值——数组(Array)和字典(Dictionary)。数组把相同类型的值存放在一个有序链表里。字典把相同类型的值存放在一个无序集合里,这些值可以通过唯一标识符(也就是键)来引用和查找。 在Swift里,数组和字典里所能存放的值的类型是明确的。这意味着你不能误把 阅读全文
posted @ 2016-11-23 17:07 ming1025 阅读(175) 评论(0) 推荐(0) 编辑
Welcome-to-Swift-03字符串和字符(Strings and Characters)
摘要:String是例如“hello, world“”,“海贼王” 这样的有序的Character(字符)类型的值的集合,通过String类型来表示。 Swift 的String和Character类型提供了一个快速的,兼容 Unicode 的方式来处理代码中的文本信息。 创建和操作字符串的语法与 C 语 阅读全文
posted @ 2016-11-23 17:06 ming1025 阅读(126) 评论(0) 推荐(0) 编辑
Welcome-to-Swift-02基本运算符
摘要:运算符是检查,改变,合并值的特殊符号或短语。例如,加号+将两个数相加(如let i = 1 + 2)。复杂些的运行算例如逻辑与运算符&&(如if enteredDoorCode && passedRetinaScan),又或让 i 值加1的便捷运算符自增运算符++i等。 Swift 支持大部分标准 阅读全文
posted @ 2016-11-23 16:55 ming1025 阅读(158) 评论(0) 推荐(0) 编辑
iOS中常见的自定义宏
摘要://字符串是否为空 #define kStringIsEmpty(str) ([str isKindOfClass:[NSNull class]] || str == nil || [str length] < 1 ? YES : NO ) //数组是否为空 #define kArrayIsEmpt 阅读全文
posted @ 2016-11-23 14:34 ming1025 阅读(704) 评论(0) 推荐(0) 编辑
How to use MJRefresh
摘要:Installation with CocoaPods:pod 'MJRefresh' Manual import: Drag All files in the MJRefresh folder to project Import the main file:#import "MJRefresh.h 阅读全文
posted @ 2016-11-21 11:19 ming1025 阅读(610) 评论(0) 推荐(0) 编辑
Welcome-to-Swift-01基础部分
摘要:Swift 是 iOS 和 OS X 应用开发的一门新语言。然而,如果你有 C 或者 Objective-C 开发经验的话,你会发现 Swift 的很多内容都是你熟悉的。 Swift 的类型是在 C 和 Objective-C 的基础上提出的,Int是整型;Double和Float是浮点型;Bool 阅读全文
posted @ 2016-11-21 09:23 ming1025 阅读(170) 评论(0) 推荐(0) 编辑
iOS学习笔记49-Swift(九)访问控制
摘要:一、Swift的访问控制 Swift中的访问控制模型基于模块和源文件这两个概念 Public:【使用public修饰】【范围大】可以访问当前模块及其他模块中的任何实体(通常用于Framework) Internal:【使用internal修饰】【范围中】可以访问当前模块中的任何实体,但是在模块外无法 阅读全文
posted @ 2016-11-17 10:21 ming1025 阅读(195) 评论(0) 推荐(0) 编辑
iOS学习笔记48-Swift(八)反射
摘要:一、Swift反射 所谓反射就是可以动态获取类型、成员信息,在运行时可以调用方法、属性等行为的特性。 在使用OC开发时很少强调其反射概念,因为OC的Runtime要比其他语言中的反射强大的多。不过在Swift中并不提倡使用Runtime,而是像其他语言一样使用反射(Reflect),即使目前Swif 阅读全文
posted @ 2016-11-17 10:20 ming1025 阅读(2091) 评论(0) 推荐(0) 编辑
iOS学习笔记47-Swift(七)泛型
摘要:一、Swift泛型介绍 泛型是为Swift编程灵活性的一种语法,在函数、枚举、结构体、类中都得到充分的应用,它的引入可以起到占位符的作用,当类型暂时不确定的,只有等到调用函数时才能确定具体类型的时候可以引入泛型。我们之前实际上已经使用过泛型,例如:Swift的Array和Dictionary类型都是 阅读全文
posted @ 2016-11-17 10:19 ming1025 阅读(2708) 评论(0) 推荐(1) 编辑
iOS学习笔记46-Swift(六)扩展
摘要:一、Swift扩展 扩展就是向一个已有的类、结构体或枚举类型添加新功能,这包括在没有权限获取原始源代码的情况下扩展类型的能力。扩展和 Objective-C中的分类(category)类似,但是它要比分类强大的多,它不仅可以扩展类,还可以扩展协议、枚举、结构体,另外扩展也不局限于扩展方法,还可以扩展 阅读全文
posted @ 2016-11-17 10:18 ming1025 阅读(303) 评论(0) 推荐(0) 编辑
iOS学习笔记45-Swift(五)协议
摘要:一、Swift协议 协议是为方法、属性等定义一套规范,没有具体的实现,类似于Java中的抽象接口,它只是描述了方法或属性的骨架,而不是实现。方法和属性实现还需要通过定义类,函数和枚举完成。 协议不指定是否该属性应该是一个存储属性或者计算属性,它只指定所需的属性名称和读写类型。属性要求总是声明为变量属 阅读全文
posted @ 2016-11-17 10:17 ming1025 阅读(316) 评论(0) 推荐(0) 编辑
iOS学习笔记44-Swift(四)枚举和结构体
摘要:一、Swift的枚举 枚举是一系相关联的值定义的一个公共的组类型,同时能够让你在编程的时候在类型安全的情况下去使用这些值。Swift中的枚举比OC中的枚举强大得多, 因为Swift中的枚举是一等类型,它除了可以定义枚举值外,还可以在枚举中像类一样定义属性和方法 OC中枚举的本质就是整数,所以OC中的 阅读全文
posted @ 2016-11-17 10:16 ming1025 阅读(345) 评论(0) 推荐(0) 编辑
iOS学习笔记43-Swift(三)类
摘要:一、Swift的类class 作为一门面向对象语言,类也是Swift的非常重要的类型,我们先来看下一个简单的类 二、属性 Swift中淡化了成员属性的概念,把属性分为两种: 可以控制读写操作(var表示可读可写,let表示只读) 通过属性监视器来属性的变化(willSet、didSet) 快速实现懒 阅读全文
posted @ 2016-11-17 10:15 ming1025 阅读(395) 评论(0) 推荐(0) 编辑
iOS学习笔记42-Swift(二)函数和闭包
摘要:上一节我们讲了Swift的基础部分,例如数据类型、运算符和控制流等,现在我们来看下Swift的函数和闭包 一、Swift函数 函数是一个完成独立任务的代码块,Swift中的函数不仅可以像C语言中的函数一样作为函数的参数和返回值,而且还支持嵌套,支持函数参数默认值、可变参数等。 二、闭包 Swift中 阅读全文
posted @ 2016-11-17 10:14 ming1025 阅读(253) 评论(0) 推荐(0) 编辑
iOS学习笔记41-Swift(一)基础部分
摘要:一、Swift语言介绍 Swift是苹果2014年推出的全新的编程语言,它继承了C语言、ObjC的特性,且克服了C语言的兼容性问题。 Swift发展过程中不仅保留了ObjC很多语法特性,它也借鉴了多种现代化语言的特点,在其中你可以看到C#、Java、Javascript、Python等多种语言的影子 阅读全文
posted @ 2016-11-17 10:00 ming1025 阅读(261) 评论(0) 推荐(0) 编辑
iOS学习笔记40-日志重定向
摘要:一、日志重定向 我们在iOS开发过程中,我们时常会使用NSLog打印到控制台的日志信息进行代码调试,但这样调试的前提是连接上Xcode。如果进行真机调试但同时又不能连接Xcode的时候,就不能直接在xcode的控制台查看输出日志了,但是程序还是会执行那些Log的,如果要查看这些日志,我们就需要把输出 阅读全文
posted @ 2016-11-17 09:47 ming1025 阅读(777) 评论(0) 推荐(0) 编辑
iOS学习笔记39-ReactiveCocoa入门
摘要:FRP,全称为Functional Reactive Programming,是一种响应变化的编程范式,最近几年比较火,大概的理解就像这样: 当a的值或者b的值发生变化时,c的值会自动响应a的值或b的值变化的信号,自动更正自己的值,类似这种编程思想就称为FRP。 FRP提供了一种信号机制来实现这样的 阅读全文
posted @ 2016-11-17 09:43 ming1025 阅读(343) 评论(0) 推荐(0) 编辑
iOS学习笔记38-MJExtension使用
摘要:一、MJExtension第三方框架 我们在iOS开发过程中,我们常常需要将字典数据(也就是JSON数据)与Model模型之间的转化,例如网络请求返回的微博数据、等等,如果我们自己全部手动去创建模型并赋值,都是一些毫无技术含量的代码,费时费力,而且还可能会赋值出错,让我们很头疼。 MJExtensi 阅读全文
posted @ 2016-11-17 09:31 ming1025 阅读(1111) 评论(0) 推荐(0) 编辑
iOS学习笔记37-时间和日期计算
摘要:一、时间和日期计算 我们在应用开发中,时常需要和时间打交道,比如获取当前时间,获取两个时间点相隔的时间等等,在iOS开发中与时间相关的类有如下几个: 二、NSDate时间点 NSDate存储的是世界标准时(UTC),输出时需要根据时区转换为本地时间 除了最后的2个获取极早极晚时间的方法,其他方法都有 阅读全文
posted @ 2016-11-17 09:06 ming1025 阅读(1588) 评论(0) 推荐(0) 编辑
iOS学习笔记36-Masonry自动布局
摘要:一、Masonry介绍 之前我们在屏幕适配的章节中学习过AutoLayout的使用,但那都是在可视化界面上进行添加约束完成的,我们很多时候都需要在代码中使用AutoLayout约束,苹果也为我们提供了实现,使用NSLayoutConstraint类表示约束,但使用起来比较复杂,代码量比较大,例如创建 阅读全文
posted @ 2016-11-16 15:25 ming1025 阅读(678) 评论(0) 推荐(0) 编辑
iOS学习笔记35-社交分享
摘要:一、社交分享 现在很多应用都内置“社交分享”功能,可以将看到的新闻、博客、广告等内容分享到微博、微信、QQ、人人网等,其实从iOS6.0开始苹果官方就内置了Social.framework专门来实现社交分享功能,利用这个框架开发者只需要几句代码就可以实现内容分享。 导入Social.framewor 阅读全文
posted @ 2016-11-16 14:58 ming1025 阅读(265) 评论(0) 推荐(0) 编辑
iOS学习笔记34-加速计和陀螺仪
摘要:一、CoreMotion框架介绍 我们知道有一些iOS的应用,会有一些特殊的要求,比如: 其实,他们多半是使用了iOS中的一个核心运动框架CoreMotion.framework 使用iOS提供给我们的CoreMotion框架,主要是为了访问加速度计和陀螺仪的相关数据。 它不仅仅提供给你获得实时的加 阅读全文
posted @ 2016-11-16 14:48 ming1025 阅读(1193) 评论(0) 推荐(0) 编辑
iOS学习笔记33-UICollectionView入门
摘要:一、UICollectionView介绍 UICollectionView和UICollectionViewController类是iOS6新引进的API,用于展示集合视图,布局更加灵活,可实现多列布局,用法类似于UITableView和UITableViewController类,但也有所不同。U 阅读全文
posted @ 2016-11-16 14:27 ming1025 阅读(300) 评论(0) 推荐(0) 编辑
iOS学习笔记32-iCloud入门
摘要:一、iCloud云服务 iCloud是苹果提供的云端服务,用户可以将通讯录、备忘录、邮件、照片、音乐、视频等备份到云服务器并在各个苹果设备间直接进行共享而无需关心数据同步问题,甚至即使你的设备丢失后在一台新的设备上也可以通过Apple ID登录同步。 二、Key-Value的iCloud存储 使用和 阅读全文
posted @ 2016-11-16 14:17 ming1025 阅读(1828) 评论(0) 推荐(0) 编辑
iOS学习笔记31-从图册获取图片和视频
摘要:一、从图册中获取本地图片和视频 从图册中获取文件,我们使用的是UIImagePickerController,这个类我们在之前的摄像头中使用过,这里是链接:iOS学习笔记27-摄像头,这里我们使用的是它的另外一个功能,那就是从图册中获取图片和视频 Demo代码点这里:learnDemo里面的Pick 阅读全文
posted @ 2016-11-16 14:12 ming1025 阅读(308) 评论(0) 推荐(0) 编辑
iOS学习笔记30-系统服务(三)蓝牙
摘要:一、蓝牙 随着蓝牙低功耗技术BLE(Bluetooth Low Energy)的发展,蓝牙技术正在一步步成熟,如今的大部分移动设备都配备有蓝牙4.0,相比之前的蓝牙技术耗电量大大降低。 应用的比较多的是CoreBluetooth框架,这里就选择CoreBluetooth框架来讲。 二、CoreBlu 阅读全文
posted @ 2016-11-16 13:54 ming1025 阅读(321) 评论(0) 推荐(0) 编辑
iOS学习笔记29-系统服务(二)通讯录
摘要:一、通讯录 iOS中的通讯录是存储在数据库中的,由于iOS的权限设计,开发人员是不允许直接访问通讯录数据库的,实现通讯录操作需要使用到AddressBook.framework框架。 可以从底层去操作通讯录的所有信息,做到精确控制 是基于C语言编写的,无法使用ARC管理内存,需要开发者手动管理内存 阅读全文
posted @ 2016-11-16 13:26 ming1025 阅读(755) 评论(0) 推荐(0) 编辑
iOS学习笔记28-系统服务(一)短信和邮件
摘要:一、系统应用 在开发某些应用时,我们可能希望能够调用iOS系统内置的电话、短信、邮件、浏览器应用,或者直接调用安装的第三方应用,这个要怎么实现呢? 那怎么区分我是要打电话还是发短信等等呢?之前我们学习网络的时候,是不是URL最前面使用的是http://,使用本地文件是不是前面就变成file://了, 阅读全文
posted @ 2016-11-16 13:21 ming1025 阅读(523) 评论(0) 推荐(0) 编辑
iOS学习笔记27-摄像头
摘要:一、摄像头 在iOS中,手机摄像头的使用有以下两种方法: 优点:使用方便,功能强大 缺点:高度封装性,无法实现一些自定义工作 优点:灵活性强,提供了很多现成的输入设备和输出设备,还有很多底层的内容可以供开发者使用 缺点:需要和底层打交道,学习难度大,使用复杂 我们平常使用UIImagePickerC 阅读全文
posted @ 2016-11-16 11:19 ming1025 阅读(1122) 评论(0) 推荐(0) 编辑
iOS学习笔记26-视频播放
摘要:一、视频 在iOS中播放视频可以使用两个框架来实现: 但在近两年的WWDC上,MediaPlayer框架被iOS9标记为deprcated,意味着它已经不再被苹果继续维护,而且该框架集成度较高,不如AVFoundation灵活性高,所以这里就讲AVFoundation的AVPlayer来实现播放视频 阅读全文
posted @ 2016-11-16 10:56 ming1025 阅读(326) 评论(0) 推荐(0) 编辑
iOS学习笔记25-录音和网络流媒体
摘要:、录音 AVFoundation框架还有一个AVAudioRecorder类专门处理录音操作,它同样支持多种音频格式。 导入AVFoundation框架,导入头文件: 实现代理方法,监听录音完成 二、网络流媒体 AVAudioPlayer音频播放器只能播放本地文件,并且是一次性加载所有的音频数据,但 阅读全文
posted @ 2016-11-16 10:00 ming1025 阅读(540) 评论(0) 推荐(0) 编辑
iOS学习笔记24-不断进化的屏幕适配
摘要:一、屏幕适配 iOS的屏幕适配可以分为3大块,代表着不同时期的屏幕适配主流: 下面我们来一个一个了解,因为涉及到UI布局,可能图片或者GIF比较多,大家要有心理准备。 二、AutoResizing【iOS6之前使用】 这个已经被时代所淘汰的界面UI适配方式,现在就只是简单的了解下,也好为下面的Aut 阅读全文
posted @ 2016-11-16 09:54 ming1025 阅读(443) 评论(0) 推荐(0) 编辑
iOS学习笔记23-音效与音乐
摘要:一、音频 在iOS中,音频播放从形式上可以分为音效播放和音乐播放。 音效: 主要指一些短音频的播放,这类音频一般不需要进行进度、循环等控制。 在iOS中,音效我们是使用AudioToolbox.framework框架实现。 音乐: 主要指一些较长的音频,通常需要对播放进行精确控制。 在iOS中,音乐 阅读全文
posted @ 2016-11-16 08:56 ming1025 阅读(292) 评论(0) 推荐(0) 编辑
iOS学习笔记22-推送通知
摘要:一、推送通知 推送通知就是向用户推送一条信息来通知用户某件事件,可以在应用退到后台后,或者关闭后,能够通过推送一条消息通知用户某件事情,比如版本更新等等。 一些任务管理APP,会到任务时间即将到达时,通知你该做任务了。 健身APP定时提醒你应该健身了。 买过电影票,提前半个小时通知你,电影即将开场。 阅读全文
posted @ 2016-11-16 08:54 ming1025 阅读(296) 评论(0) 推荐(0) 编辑
iOS学习笔记21-推送证书与秘钥申请
摘要:恢复内容开始 一、iOS证书 iOS常用的证书包括开发证书和发布证书,无论是真机调试还是最终发布应用到App Store这两个证书都是必须的,它是iOS开发的基本证书。Xcode7以后真机调试就不需要开发证书,真是开发者的福音啊!我再也不用为没有开发者账号而不能真机调试而担心了,(^o^)/~。 开 阅读全文
posted @ 2016-11-16 08:50 ming1025 阅读(247) 评论(0) 推荐(0) 编辑
iOS学习笔记20-地图(二)MapKit框架
摘要:一、地图开发介绍 从iOS6.0开始地图数据不再由谷歌驱动,而是改用自家地图,当然在国内它的数据是由高德地图提供的。 利用MapKit框架进行地图开发,利用这种方式可以对地图进行精准的控制 调用苹果官方自带的地图应用,主要用于一些简单的地图应用,无法精确控制 使用第三方地图开发SDK库 用得最多的还 阅读全文
posted @ 2016-11-15 16:17 ming1025 阅读(291) 评论(0) 推荐(0) 编辑
iOS学习笔记19-地图(一)定位CoreLocation
摘要:一、定位介绍 现在很多社交、电商、团购应用都引入了地图和定位功能,似乎地图功能不再是地图应用和导航应用所特有的。的确,有了地图和定位功能确实让我们的生活更加丰富多彩,极大的改变了我们的生活方式。要实现地图、导航功能,往往需要先熟悉定位功能。 CoreLocation自身可以单独使用,和地图开发框架M 阅读全文
posted @ 2016-11-15 15:06 ming1025 阅读(322) 评论(0) 推荐(0) 编辑
iOS学习笔记18-CoreData
摘要:一、CoreData介绍 CoreData是iOS5之后新出来的的一个框架, 是对SQLite进行一层封装升级后的一种数据持久化方式。它提供了对象<-->关系映射的功能,即能够将OC对象转化为数据存储到SQLite数据库文件中,同时也能将数据库中的数据还原成OC对象。相较于SQLite,我们使用Co 阅读全文
posted @ 2016-11-15 14:30 ming1025 阅读(171) 评论(0) 推荐(0) 编辑
iOS学习笔记17-FMDB
摘要:上一节我已经介绍了SQLite的简单使用,不了解的可以提前去看一下iOS学习笔记16-数据库SQLite,这节我们来讲下FMDB。 一、FMDB介绍 FMDB是一种第三方的开源库,FMDB就是对SQLite的API进行了封装,加上了面向对象的思想,让我们不必使用繁琐的C语言API函数,比起直接操作S 阅读全文
posted @ 2016-11-15 14:05 ming1025 阅读(760) 评论(0) 推荐(0) 编辑
iOS学习笔记16-数据库SQLite
摘要:一、数据库 在项目开发中,通常都需要对数据进行离线缓存的处理,如新闻数据的离线缓存等。离线缓存一般都是把数据保存到项目的沙盒中。有以下几种方式: 上述的使用可以参考iOS学习笔记15-序列化、偏好设置和归档,但上述三种方法都有一个致命的缺点,那就是都无法存储大批量的数据,有性能的问题,在这个时候就是 阅读全文
posted @ 2016-11-15 13:50 ming1025 阅读(224) 评论(0) 推荐(0) 编辑
iOS学习笔记15-序列化、偏好设置和归档
摘要:一、本地持久化 所谓的持久化,就是将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据。在iOS开发中,有很多数据持久化的方案,接下来我将尝试着介绍一下5种方案: 本节我就只写关于归档、偏好设置和属性列表的,这些都是小数据持久化常用的方式,SQLite3和CoreData都是数据 阅读全文
posted @ 2016-11-15 13:16 ming1025 阅读(265) 评论(0) 推荐(0) 编辑
iOS学习笔记14-网络(三)WebView
摘要:一、WebView WebView就是一个内嵌浏览器控件,在iOS中主要有两种WebView:UIWebView和WKWebView,UIWebView是iOS2之后开始使用,WKWebView是在iOS8开始使用,毫无疑问WKWebView将逐步取代笨重的UIWebView。 尽管讲了这么多WKW 阅读全文
posted @ 2016-11-15 11:28 ming1025 阅读(244) 评论(0) 推荐(0) 编辑
iOS学习笔记13-网络(二)NSURLSession
摘要:在2013年WWDC上苹果揭开了NSURLSession的面纱,将它作为NSURLConnection的继任者。现在使用最广泛的第三方网络框架:AFNetworking、SDWebImage等等都使用了NSURLSession。作为iOS开发人员,应该紧随苹果的步伐,不断的学习,无论是软件的更新、系 阅读全文
posted @ 2016-11-15 11:17 ming1025 阅读(432) 评论(0) 推荐(0) 编辑
iOS学习笔记12-网络(一)NSURLConnection
摘要:一、网络请求 GET请求:get是获取数据的意思,数据以明文在URL中传递,受限于URL长度,所以传输数据量比较小。 POST请求:post是向服务器提交数据的意思,提交的数据以实际内容形式存放到消息头中进行传递,无法在浏览器url中查看到,大小没有限制。 HEAD请求:请求头信息,并不返回请求数据 阅读全文
posted @ 2016-11-15 10:57 ming1025 阅读(529) 评论(0) 推荐(0) 编辑
iOS学习笔记11-多线程入门
摘要:一、iOS多线程 iOS在每个进程启动后都会创建一个主线程,更新UI要在主线程上,所以也称为UI线程,是其他线程的父线程。 线程(thread):用于指代独立执行的代码段。 进程(process):用于指代一个正在运行的可执行程序,它可以包含多个线程。 二、NSThread NSThreadhi轻量 阅读全文
posted @ 2016-11-15 09:47 ming1025 阅读(197) 评论(0) 推荐(0) 编辑
iOS学习笔记10-UIView动画
摘要:上次学习了iOS学习笔记09-核心动画CoreAnimation,这次继续学习动画,上次使用的CoreAnimation很多人感觉使用起来很繁琐,有没有更加方便的动画效果实现呢?答案是有的,那就是UIView动画封装 一、UIView动画 苹果知道图层动画使用麻烦,就为我们封装到了UIView里,使 阅读全文
posted @ 2016-11-15 09:39 ming1025 阅读(167) 评论(0) 推荐(0) 编辑
iOS学习笔记09-核心动画CoreAnimation
摘要:一、CALayer CALayer包含在QuartzCore框架中,具有跨平台性,在iOS中使用Core Animation开发动画的本质是 将CALayer内容转化为位图从而供硬件操作 。 注意:阴影效果无法和masksToBounds同时使用,因为masksToBounds的目的就是剪切外边框, 阅读全文
posted @ 2016-11-15 09:24 ming1025 阅读(398) 评论(0) 推荐(0) 编辑
iOS学习笔记08-Quartz2D绘图
摘要:一、Quartz2D简单介绍 在iOS中常用的绘图框架就是Quartz2D,Quartz2D是Core Graphics框架的一部分,我们日常开发使用的所有UIKit组件都是由Core Graphics进行绘制的 UIKit默认为我们提供了一个图形上下文,在UI控件的drawRect:方法中调用UI 阅读全文
posted @ 2016-11-15 09:02 ming1025 阅读(358) 评论(0) 推荐(0) 编辑
iOS学习笔记07-运动事件和远程控制
摘要:之前我们已经学习了触摸处理和手势识别,其实这两个同属于iOS事件的触摸事件,今天我们来学习下iOS事件的另外两个事件: 一、运动事件 运动事件,是通过加速器进行触发,和触摸事件一样,继承UIResponder类的对象才能处理运动事件 你没有看错,这里说的运动事件,只是摇晃一下手机而已,所以只有运动开 阅读全文
posted @ 2016-11-14 17:16 ming1025 阅读(277) 评论(0) 推荐(0) 编辑
iOS学习笔记06-手势识别
摘要:一、UIGestureRecognizer简单介绍 我们已经学习了触摸事件处理,但触摸事件处理起来很麻烦,每个触摸事件处理都需要实现3个touches方法,比较繁琐,实际上我们可以使用更加简单的触摸事件处理操作,那就是 手势识别UIGestureRecognizer 。 手势识别操作基类UIGest 阅读全文
posted @ 2016-11-14 17:00 ming1025 阅读(183) 评论(0) 推荐(0) 编辑
iOS学习笔记05-触摸事件
摘要:一、事件分发处理【由外到内】 在iOS中发生触摸后,事件会加到UIApplication事件队列,UIApplication会从事件队列取出最前面的事件进行分发处理,通常会先分发给主窗口,主窗口会调用hitTest:withEvent:方法,查找适合的事件触发视图,即 找到被触摸的视图对象 二、响应 阅读全文
posted @ 2016-11-14 15:54 ming1025 阅读(203) 评论(0) 推荐(0) 编辑
iOS学习笔记04-视图切换
摘要:一、视图切换 UITabBarController (分页控制器) - 平行管理视图 UINavigationController (导航控制器) - 压栈出栈管理视图 模态窗口 二、UITabBarController分页控制器 UITabBarController会一次性初始化所有子控制器,但默 阅读全文
posted @ 2016-11-14 15:46 ming1025 阅读(173) 评论(0) 推荐(0) 编辑
iOS学习笔记03-UITableView
摘要:一、UITableView基本介绍 UITableView中的数据只有行的概念,没有列的概念,UITableView的每行数据就是一个UITableViewCell。自带的UITableViewCell的类型选择有: 二、UITableViewDataSource数据源 数据源的作用就是告诉UITa 阅读全文
posted @ 2016-11-14 15:30 ming1025 阅读(205) 评论(0) 推荐(0) 编辑
iOS学习笔记02-UIScrollView
摘要:父类UIView方法 UIScrollView中容易混淆的属性 contentSize 内容尺寸 contentInset 内容边框尺寸 contentOffset 可视框偏移 UIScrollViewDelegate代理方法 UIScrollView基本用法 阅读全文
posted @ 2016-11-14 15:23 ming1025 阅读(222) 评论(0) 推荐(0) 编辑
iOS学习笔记01-APP相关
摘要:AppDelegate对象方法 APP启动加载 UIApplication常用属性和方法 阅读全文
posted @ 2016-11-14 15:06 ming1025 阅读(155) 评论(0) 推荐(0) 编辑