随笔分类 -  iOS常用代码随笔

摘要:本篇主要讲述在 OC 开发中主要涉及到的运行时机制: 运行时的工作: 运行时在 OC 中的工作:OC 语言的设计模式决定了尽可能的把程序从编译和链接时推迟到运行时。只要有可能,OC 总是使用动态的方式来解决问题。这意味着 OC 语言不仅需要一个编译器,同时也需要一个运行时系统来执行编译好的代码。这儿 阅读全文
posted @ 2016-03-26 22:17 淡泊宁静_JP 阅读(1367) 评论(0) 推荐(0)
摘要:本篇分为两部分: 一、Swift 中 protocol 组合的使用 二、Swfit 中 static和class 的使用 一、Swift 中 protocol 组合的使用 在 Swift 中我们可以使用 Any 来表示任意类型(public typealias Any = protocol<>),是 阅读全文
posted @ 2016-03-26 07:42 淡泊宁静_JP 阅读(1767) 评论(0) 推荐(0)
摘要:本篇主要讲解 Swift 中 Designated、Convenience和 Required 的使用: 在 OC 中 init 方法是非常不安全的,没人能够保证 init 只被调用一次,也没有人保证在初始化方法调用以后实例的各个变量都完成初始化,甚至如果在初始化里使用属性进行设置的的话,还可能会造 阅读全文
posted @ 2016-03-24 23:33 淡泊宁静_JP 阅读(3948) 评论(0) 推荐(0)
摘要:本篇分为两部分: 可变参数函数指的是可以接受任意多个参数的函数,在 OC 中,拼接字符串的函数就属于可变参数函数 在 swift 中定义可变参数函数: 输出结果: 注意:可变参数只能作为方法中的最后一个参数来使用,而不能先声明一个可变参数,然后再声明其他参数。因为编译器不知道输入的参数应该从哪里截断 阅读全文
posted @ 2016-03-21 10:53 淡泊宁静_JP 阅读(2139) 评论(0) 推荐(0)
摘要:本篇分为两部分: 在 Swift 中,AnyObject 可以代表任何 class 类型的实例,Any 可以表示任意类型,包括方法(func)类型,相当于 OC 中的 id。因为 id 可以为空,所以 AnyObject 也是Optional类型的。 验证 Any 和 AnyObject 的特性: 阅读全文
posted @ 2016-03-19 08:29 淡泊宁静_JP 阅读(1392) 评论(0) 推荐(0)
摘要:本篇分为两部分: 一、Swift中的方法嵌套 二、Swift中的命名空间 在 swift 中我们可以让方法嵌套方法,如: 我们之前在使用 OC 开发时,它是没有命名空间的,所有的代码和引用的静态库最终都会被编译到同一个域和二进制中,这样的后果是一旦我们有重复的类名的话,就会导致编译时的冲突和失败。为 阅读全文
posted @ 2016-03-18 06:17 淡泊宁静_JP 阅读(980) 评论(0) 推荐(0)
摘要:本篇主要讲述百度地图的导航功能: 第一步:在使用百度导航之前,我们需要在百度地图开放平台上下载导航的 SDK,共85.8M,网速不好的同学可提前准备好。 第二步:引入导航所需的系统包 将AudioToolbox.framework、ImageIO.framework、CoreMotion.frame 阅读全文
posted @ 2016-03-17 23:57 淡泊宁静_JP 阅读(3682) 评论(0) 推荐(1)
摘要:本篇分为两部分: 第一步:首先创建 BMKMapView 视图 第二步:在视图完全显示出来后设置,并实现代理方法 第三步:运行程序,此时大头针效果可以正常显示 第一步:延时加载对象 第二步:实现BMKPoiSearchDelegate代理方法 第三步:实现 BMKPoiSearchDelegate 阅读全文
posted @ 2016-03-17 21:46 淡泊宁静_JP 阅读(3476) 评论(0) 推荐(0)
摘要:本篇分为两部分: 所谓字面量就是指像特定的数字,字符串或者是布尔值这样能够直接了当地指出自己的类型并未变量进行赋值的值。比如下面三个都称为字面量: 在 Swift 中,Array 和 Dictionary 在使用简单的描述赋值的时候,使用的也是字面量,比如: Swift为我们提供了一组非常有意思的接 阅读全文
posted @ 2016-03-17 19:34 淡泊宁静_JP 阅读(580) 评论(0) 推荐(0)
摘要:本篇分4步讲述如何在项目中集成百度地图: 秘钥是在 http://lbsyun.baidu.com/apiconsole/key 百度开放平台申请。 在使用SDK的类时按需引入下边的头文件 到此步,我们就可以正常运行百度地图了。 但是,需要注意的是在控制台上会输出以下信息: 那么我们按照要求一步步来 阅读全文
posted @ 2016-03-17 07:59 淡泊宁静_JP 阅读(3205) 评论(0) 推荐(0)
摘要:本篇分为两部分: 与别的语言不同,Swift 支持运算符的重载,运算符指的是“+,-,%,*”等操作运算符,从而使一些操作更加简便。 在开发中,我们对于一些基本运算通常是这样写的: v3 的输出结果为:3,7 但是,当这种二位数组过多时,如果我们依然用这种方式,我们的代码将变得异常臃肿,程序员也会变 阅读全文
posted @ 2016-03-17 00:04 淡泊宁静_JP 阅读(578) 评论(0) 推荐(0)
摘要:本篇分三部分: 一、Struct Mutable方法 直接上代码: 运行结果: 二、多元组(Tuple) 多元组是 Swift 的新特性,普通程序员都是定义一个临时变量来保存需要交换的值得,现在我们可以不使用额外空间而使用多元组特性直接交换 a 和 b 的值 三、autoclosure的 基本使用 阅读全文
posted @ 2016-03-16 13:13 淡泊宁静_JP 阅读(1194) 评论(0) 推荐(0)
摘要:本篇分为两部分: 一、柯里化的基本使用 柯里化(Currying):也就是把接受多个参数的方法变换成接受第一个参数的方法,并且返回接受余下的参数并且返回结果的新方法。 然后通过只传入第一个括号内的参数进行调用,这样将返回另一个方法 二、柯里化的使用场景 柯里化是一种量产相似方法的好办法,可以通过柯里 阅读全文
posted @ 2016-03-16 00:33 淡泊宁静_JP 阅读(732) 评论(0) 推荐(0)
摘要:本篇分为两部分: Playground 就是提供一个可以即时编译的类似 REPL 的环境,他为我们提供了一个顺序执行的环境,在每次更改其中代码后整个文件都会被重新编译,并清空原来的状态并运行。 NSTimer 在默认的 Playground 中是不会执行的: 在执行玩 NSTimer 语句之后,整个 阅读全文
posted @ 2016-03-15 20:40 淡泊宁静_JP 阅读(1234) 评论(0) 推荐(0)
摘要:本篇分两部分: 一、extension在 Swift 中的使用 二、Swift 中的 fatalError 一、extension在 Swift 中的使用 在 swift 中我们可以通过 extension 来输出做格式化等操作 通常情况下,当我们在开发过程中需要打印某些对象中的信息时,我们会编写如 阅读全文
posted @ 2016-03-15 12:55 淡泊宁静_JP 阅读(4243) 评论(0) 推荐(0)
摘要:本篇分两部分: 在 OC 开发中,我们通常会将 error 置为 nil 在绝大多数情况下,这个方法并不会发生什么错误,所以我们将 error 直接设置为 nil。但是出错的时候可能就会无从下手进行调试。在 Swift 中引入了异常机制,这让我们老牌程序员感到异常亲切,因为在 java 或 C# 中 阅读全文
posted @ 2016-03-14 23:20 淡泊宁静_JP 阅读(1825) 评论(2) 推荐(0)
摘要:本篇将从四个方面对iOS开发中经常使用到的AFNetworking框架进行讲解: AFN 全称为 AFNetworking,是一个构建与在 NSURLConnection、NSOperation 以及其他熟悉的 Founation 技术之上的一个第三方网络框架。 AFN 对网络请求部分做了很好的封装 阅读全文
posted @ 2016-02-25 07:48 淡泊宁静_JP 阅读(7476) 评论(4) 推荐(0)
摘要:本篇将从四个方面对iOS开发中使用到的NSOperation技术进行讲解: 1)利用代理进行消息传递 2)利用通知实现消息传递 3)利用block进行消息传递 NSOperation是一个抽象的基类,表示一个独立的计算单元,可以为子类提供有用且线程安全的建立状态,优先级,依赖和取消等操作。系统已经给 阅读全文
posted @ 2016-02-04 08:43 淡泊宁静_JP 阅读(2561) 评论(0) 推荐(1)
摘要:本篇将从四个方面对iOS开发中GCD的使用进行详尽的讲解: GCD 是基于 C 的 API,它是 libdispatch 的市场名称,而 libdispatch 作为 Apple 的一个库,为并发代码在多核硬件(跑 iOS 或 OS X )上执行提供有力支持。 1)同步任务执行方式:在当前线程中执行 阅读全文
posted @ 2016-02-03 23:47 淡泊宁静_JP 阅读(2413) 评论(0) 推荐(1)
摘要:本篇争取一篇讲清讲透,依然将通过四大方面清晰的对iOS开发中多线程的用法进行详尽的讲解: 1)多线程执行原理 2)线程与进程 3)多线程的优缺点 1)pthread技术 2)NSThread技术 2.1)线程属性 2.2)资源共享(抢夺) 3)GCD技术 4) NSOperation技术 多线程(英 阅读全文
posted @ 2016-02-03 17:29 淡泊宁静_JP 阅读(1341) 评论(0) 推荐(0)