说说iOS多线程

カテゴリー iOS

在说多线程之前我们必须先弄懂两个概念:进程线程

进程

进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。

简单来说,进程是指在系统中正在运行的一个应用程序,每一个程序都是一个进程,并且进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内。

続きを読む

打造一个流畅的UITableView

カテゴリー iOS

Table view需要有很好的滚动性能,不然用户会在滚动过程中发现动画的瑕疵。
为了保证table view平滑滚动,确保你采取了以下的措施:

  • 正确使用reuseIdentifier来重用cell
  • 尽量使所有的view opaque,包括cell自身
  • 避免图片缩放
  • 缓存行高
  • 尽量不要在cellForRowAtIndexPath:中设置数据,如果你需要用到它,只用一次然后缓存结果
  • 对齐像素
  • 使用rowHeight, sectionFooterHeightsectionHeaderHeight来设定固定的高,不要请求delegate
続きを読む

Swift中的rethrows

カテゴリー Swift

我最近在学习Swift函数式编程时,越来越觉得Swift是一门强大的语言。在 Swift 的世界中,函数不再是二等公民。是的,Swift 引入了大量函数式编程的特性,使得我们能够把函数当作一等公民来对待。在Swift中,适当引入函数式编程的思想和方法,常常会有奇效。

続きを読む

MVC

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

続きを読む

Run Loop

カテゴリー iOS

本文并不是一篇个人博客,只是对 RunLoop 知识的一个整理,方便自己查阅。

  1. RunLoop 的概念
  2. RunLoop 与线程的关系
  3. RunLoop 的内部
    1. RunLoop 的 Mode
    2. RunLoop 的内部逻辑
  4. 苹果用 RunLoop 实现的功能
  5. RunLoop 的实际应用举例
続きを読む

Swift构造器

カテゴリー Swift

构造过程就是为一个实例上的每个存储属性设置初始值,并在新实例准备就绪之前执行所需的任何其他设置或初始化。我们通过定义构造器(暂时就这么叫吧,因为大家都这么叫,其实我觉得称为初始化器或初始化方法更合适一点)来实现这个构造过程,其实它就是一个特殊的方法,可以用来创建一个特定类型的新示例。

Swift 中的构造器与 Objective-C 中不同,它没有返回值。不过它们的主要作用都是确保类型的新实例在第一次使用之前已正确初始化。OC 中我们并没有显示地给每个属性赋初始值,是因为它们在定义时有默认值,这一点与 Swift 不同。

続きを読む

在开发过程中,经常会使用到第三框架,我们通过一个pod install命令,很方便的就将第三方框架加到我们自己的项目中。
如果我们也想将自己写的组件或库开源出去,让别人也可以通过pod install命令安装自己的框架该怎么做呢?

続きを読む

iOS渲染原理

カテゴリー iOS

在说清楚iOS中的界面是如何被绘制并显示在屏幕上之前,有必要了解一下iOS中的 UIViewCALayer
在iOS当中,所有的视图都从一个叫做 UIVIew 的基类派生而来,UIView 可以处理触摸事件,可以支持基于Core Graphics绘图,可以做仿射变换(例如旋转或者缩放),或者简单的类似于滑动或者渐变的动画。

続きを読む

初识Core Data

カテゴリー iOS

Core Data 是一个强大的对象图形化管理和对象持久化的框架,这一框架在 iOS 和 OS X 系统中已经存在很多年了。2005年的四月份,Apple 发布了 OS X 10.4,正是在这个版本中 Core Data 框架发布了。Core Data 可以很方便地将 OC 对象存储到数据库中,也可以将数据库中的数据转化为 OC 对象,在这个过程中不需要我们手动编写任何 SQL 语句,Core Data 会帮我们完成。对于不喜欢 SQL 语句的同学来说,使用 Core Data 倒是个不错的选择。即使你不愿使用 Core Data ,作为一个合格的 iOS 开发者, 你也应该熟悉 Core Data。

続きを読む

iOS核心动画: Core Animation

カテゴリー iOS

我们写的应用程序往往都不是静态的,因为它们需要适应用户的需求以及为执行各种任务而改变状态。一个好的动画清晰地向我们解释了,这些状态变化时界面正在发生什么。在了解了动画背后的基本原理后,你会发现原来实现一个动画并不那么困难。

続きを読む

Jewelz Hu

author.bio


author.job


HangZhou