Roy's Note

Write and Change


  • 首页

  • 分类

  • 关于

  • 归档

  • 标签

Swift Runtime

发表于 2017-04-20 | 分类于 Swift
注:这篇文章原出处来自淘宝技术团队 Objective-C具有动态性,能够通过’runtime API’调用和替换任意方法,那么Swift也具有这些动态性吗? 用例分析我们拿一个纯Swift类和一个继承自NSObject的类来做分析,这两个类里包含尽量多的Swift的类型比如Character、 ...
阅读全文 »

Swift Key-Value Observing

发表于 2017-04-20
KVO(Key-Value Observing)是为了其他不同实例对当前的某个属性 (严格来说是 keypath) 进行监听时使用的。其他实例可以充当一个订阅者的角色,当被监听的属性发生变化时,订阅者将得到通知。这是一个很强大的属性,通过 KVO 我们可以实现很多松耦合的结构,使代码更加灵活和强大: ...
阅读全文 »

Swift Key-Value Coding

发表于 2017-04-20 | 分类于 Swift
KVC (Key-Value Coding), 它是一种用间接方式访问类的属性的机制。在 Swift 中为一个类实现 KVC 的话,需要让它继承自 NSObject。 Code12345678910class Person: NSObject { var firstName: Str ...
阅读全文 »

Swift Optional

发表于 2017-04-20 | 分类于 Swift
Optional定义Optional是在Swift中引入的新类型,特点是可以有值,也没有没有值,没有值为nil。Optional其实就是一个枚举: 1234567891011public enum Optional<Wrapped> : ExpressibleByNilLiteral & ...
阅读全文 »

Swift Singleton

发表于 2017-04-19 | 分类于 Swift
单例必须是唯一的,在程序生命周期中只能存在一个这样的实例。为保证单例的唯一性,单例类的初始化方法必须是私有的。这样就可以避免其他对象通过单例类创建额外的实例。为保证在整个程序的生命周期中值有一个实例被创建,单例必须是线程安全的。 在Swift中单例实现比较简单:1234class TheOneAnd ...
阅读全文 »

Swift GCD

发表于 2017-04-19 | 分类于 Swift
GCDGrand Central Dispatch (GCD)是Apple开发的一个多核编程的较新的解决方法。它主要用于优化应用程序以支持多核处理器以及其他对称多处理系统。它是一个在线程池模式的基础上执行的并行任务。在Mac OS X 10.6雪豹中首次推出,也可在IOS 4及以上版本使用。 基本概 ...
阅读全文 »

MarkDown File

发表于 2017-04-18 | 分类于 Tool
Markdown使用笔记 创建表格12345| Tables | col1 | col2 || :----: |:-----:|:----:|| a | b | c || d | e | f || g | h | i | 效果 ...
阅读全文 »

Swift Define

发表于 2017-04-18 | 分类于 Swift
宏定义合理使用能够使代码漂亮简洁,但是使用宏定义有时也会导致难以重构和维护,隐藏很多问题。在Swift中已经去掉了宏定义,并且苹果公司给了一些替代建议,比如使用let和get代替原来的宏定义。 没有参数的宏在OC中 12#define kScreenHeight [UIScreen main ...
阅读全文 »

Swift Lock

发表于 2017-04-18 | 分类于 Swift
在不同线程中安全的访问同一资源,需要为资源加上线程锁,否则多个线程访问同一资源,会导致结果不可预测。在OC中使用@synchronized为资源加锁,但是在Swift中这个方法已经不存在了。@synchronized幕后所做的工作是调用objc_sync中的objc_sync_enter和objc_ ...
阅读全文 »

Swift Add Variable For A Exist Class

发表于 2017-04-18 | 分类于 Swift
在Swift中如何为一个存在的类添加变量,新建一个Person.swift文件,代码如下:12345678import Foundationclass Person: NSObject { var name: NSString? func eatFood() -> Voi ...
阅读全文 »
123
王耀国

王耀国

Do something just for not boring

28 日志
7 分类
32 标签
© 2017 王耀国
WriteAndShare
WangYaoGuoBlog -
本站总访问量次