iOS
iOS 高级教程:用 MVVM 处理复杂的TableView
· ☕ 8 min read
在本文,我们将讨论如何 用 Model-View-ViewModel(MVVM) 模式来组织 table view 代码。MVVM 是一种架构模型,它使用数据模型表示视图状态。我们可以使用很多 Swift 技术, 使 UI 逻辑包装成数据模型。例如使用协议和闭包简化 table view 中的代码。

访问 iCloud 云盘文件
· ☕ 1 min read
UIDocumentPickerViewController 苹果提供的一个控制器,它为我们提供了访问应用沙盒之外的文件或者目标的能力。

Clang 简单使用
· ☕ 1 min read

clang -rewrite-objc: 将OC代码转成 C/C++

1. 最基本的

1
clang -rewrite-objc main.m

2.指定真机:

1
xcrun -sdk iphoneos clang -rewrite-objc main.m

指定模拟器:

1
xcrun -sdk iphonesimulator clang -rewrite-objc main.m

指定特定版本的SDK

xcrun -sdk iphonesimulator11.3 clang -rewrite-objc main.m

MVVM in Swift
· ☕ 6 min read
原文:MVVM in Swift 编程归结起来就是让代码以一种聪明的方式与其他代码进行通信。 软件模式是约束程序员使编程更容易的方法。 MVVM , 大致上有以下几种限制

Swift 闭包
· ☕ 5 min read
根据 The Swift Programming Language (Swift 4.1) - Closures 整理。 Swift 中闭包与 Objective-C 中的 Blocks 以及其他一些编程语言中的匿名函数比较相似,是自包含的函数代码块。 闭包可以捕获和存储其所在上下文中

KVO & KVOController
· ☕ 5 min read
KVO的实现机制 KVO 是 Objective-C 对观察者模式的实现。从苹果的 文档 中对于它的实现描述可以知道: KVO 是通过 isa-swizzling 实现的。 当你观察一个对象时,该对象的isa指针被

Carthage的简单使用
· ☕ 1 min read
Carthage 是和 Cocoapods 类似的第三方库管理工具。和 Cocoapods 相比,Carthage 仅导入 framework 文件,做到更少的入侵性。但是Carthage 仅支持动态框架,只支持iOS 8

Objective-C Messaging
· ☕ 5 min read
消息传递(Messaging) 在C语言中,调用一个方法其实就是跳转到内存中的某一点,并开始执行一段代码。没有动态特性特性,因为这个是在编译时

Protocol Buffer Objerctive-C Compiler(protoc)
· ☕ 3 min read
什么是Protocol buffers? Protocol buffers are a language-neutral, platform-neutral extensible mechanism for serializing structured data. Protocol buffers 是一种以有效且可扩展的格式对结构化数据进行编码的方式。它和xml类似,但是比xml更轻量

读:《Objective-C高级编程》之GCD
· ☕ 8 min read
什么是GCD Grand Central Dispatch(GCD)是异步执任务的技术之一。一般将应用程序中记述的线程管理用的代码在系统级中实现。开发只需要定义想执行

Swift:Automatic Reference Counting in Swift
· ☕ 12 min read
原文地址:Automatic Reference Counting 翻译: https://www.cnswift.org/ Swift 使用自动引用计数*(ARC)*机制来追踪和管理你的APP的内存使用。在大多数情况下,这意味着内存管

iOS:关于iOS的推送
· ☕ 3 min read
苹果的在iOS 10 中将通知相关的API统一成了UserNotifications.framework。在新的UserNotifications