认识ObjC,改造Cocoa

2017-12-07
阅读 2 分钟
2.6k
接上篇,其实在接触Ruby不久后,我就萌生了改造ObjC的Cocoa框架的想法。为什么要改造?只为能够提高开发OC项目的效率。同时我也完成了一些改造工作,详见像Ruby一样写ObjC,用block实现链式方法调用

Cocoa改造前篇 - 说在前面的

2017-12-07
阅读 5 分钟
2.6k
面向对象的程序设计(Object-Oriented Programming,简记为OOP)这个概念大家都有所耳闻,目前(2017.12),在Tiobe世界语言排行榜上排前十的语言中,C语言和Assembly language(汇编)外的八种语言均原生支持面向对象的程序设计。

像Ruby一样写ObjC,用block实现链式方法调用

2017-06-21
阅读 4 分钟
4.7k
一切要从我加入了Codewars网站,开始与世界各地的Coder们一同刷题开始说起。在Codewars中,有许多题目是支持多种不同语言的,比如下面这一道题,把字符串中的所有单词根据空格分割反转:

使用 EventKit 向系统日历中添加事件

2017-06-05
阅读 6 分钟
6.5k
使用 EventKit 向系统日历中添加事件 本文主要内容是如何一步一步使用EventKit在iOS设备中添加日历,并在日历中添加事件和提醒事项。 源代码Github 类和属性 EKAlarm 提醒操作类 EKAlarm类用于提供操作系统日历通知的相关接口,通知时间既可以是绝对时间,也可以是相对时间。 实例化方法 {代码...} 属性相关类 EKStructu...

教你写一个可以找到.m文件所有接口名的命令行工具

2017-05-12
阅读 4 分钟
5.7k
项目github 出发点 今天工作中写了一个工具类,在.m中完成所有功能后,发觉把所有接口从.m中拷贝到.h中声明,好麻烦啊,所以就考虑写个命令行工具来做这些工作。 想要达到的结果 我们设计这个小工具,在终端中直接运行,传入一个.m文件路径参数,输出其中所有的方法名。 {代码...} 开始 第一步新建一个mac的命令行(Comm...

ARC 模式下的循环引用引起内存泄漏

2016-09-07
阅读 3 分钟
5.3k
自从iOS 5时代自动引用计数(Automatic Reference Counting)技术发布,Cocoa工程师们才扔下了内存管理的包袱,从此在Objective-C修行道路上的一座大山被削平。然而,即使ARC很强大,我们日常搬砖时同样是有内存泄漏风险的,今天我就跟大家聊聊这些你可能还没有注意到的坑。

Grand Central Dispatch 1

2016-08-19
阅读 11 分钟
3.8k
Grand Central Dispatch 是苹果公司发布的一套多核多线程任务分发的解决方案,简称GCD,或者你叫他滚床单也没有人反对,嘿嘿。

iOS实现依赖注入

2016-03-22
阅读 3 分钟
6.5k
依赖注入(Dependency Injection)这个词,源于java,但在Cocoa框架中也是十分常见的。举例来说:UIView的初始化方法initWithFrame

Animations开源动效分析(二)POP-Stroke动画

2016-01-26
阅读 5 分钟
9.6k
本教程源码Animations 作者 YouXianMing,建议配合源码项目食用 Facebook pop动画框架简易教程请移步 Facebook Pop 使用指南 CoreAnimation不简易教程 如果不想看第三条的教程,也要弄明白CALayer的隐式动画,否则看本文会疑惑,请移步CALayer的隐式动画和显式动画 CAMediaTimingFunction 今天我们来看一下研究一下CAMedi...

Animations开源动效分析(一)POP按钮动画

2016-01-25
阅读 3 分钟
5.8k
我也很喜欢做动画动效,特来学习观摩。因为动效的特殊性,很多情况下这个项目里的动效不能直接Copy到我们现有的项目中直接使用,所以搞清楚她们的实现原理就很有必要了。建议配合源码学习。

UINavigationBar的继承与定制

2016-01-14
阅读 6 分钟
5.7k
注意到UI_APPEARANCE_SELECTOR这个宏了么,用这个宏标记的属性,都是可以通过UIApperance协议进行全局设置的属性。说的更直白一点,就是可以一次性,修改项目中所有的这个类的默认属性。

iOS自定义控件教程(四)UIControl - 幕后的英雄

2016-01-06
阅读 6 分钟
7.1k
上一篇文章我们介绍了UIView的触摸事件响应和简单动画,但是并没有将触摸事件封装。我们今天介绍Demo中最后一部分 —— 输出响应事件。 Github下载源码 我么知道Objective-C是采用消息机制(messaging)调用方法的,例如我们调用UIView的init方法 {代码...} 简单的描述一下其中的过程: 程序一运行,所有的类方法(‘+’开头...

iOS自定义控件教程(三)UIView动画入门

2016-01-05
阅读 6 分钟
5.6k
上一篇文章我们介绍了UIView的触摸响应链原理,顺便学习UIView的基本属性和方法。在iOS自定义控件教程(二)关于响应链的那些事中我们讲解了触摸原理,但并未具体实现其功能,接下来我们具体讲讲点击效果的实现和响应的动画效果的实现。最终实现的效果:Github下载源码

iOS自定义控件教程(二)关于响应链的那些事

2016-01-04
阅读 3 分钟
4.4k
上一次我们一起做一个多段选择的自定义控件,顺便学习UIView的基本属性和方法。在iOS自定义控件教程(一)中我们完成了UILabel布局的工作,接下来我们一起研究一下触摸响应链原理。最终实现的效果:Github下载源码

iOS自定义控件教程(一)看看吧,总会得到你想要的

2015-12-31
阅读 5 分钟
5.5k
本文将是一个关于Cocoa Touch中UIKit框架的自定义控件系列教程,我们将从基础开始,由浅入深,分析讲解自定义控件的相关知识和技巧。

RACSignal的一些常用用法(二)

2015-12-30
阅读 5 分钟
3.4k
尝试这个例子之前,请在Demo工程的info.plist文件中加入App Transport Security Settings键值,并加入Allow Arbitrary Loads:YES键值对,用来开启iOS下的非安全连接。

一些常用的RACSignal

2015-12-29
阅读 4 分钟
8.3k
RAC(<#TARGET, ...#>)宏用来将一个对象的属性和信号量绑定,RACObserve(<#TARGET#>, <#KEYPATH#>)宏则用来生成一个对象的绑定属性的信号量,这样描述很抽象,上一个例子解释

NSFetchedResultsController的简单封装 - UITableView与CoreData的完美结合

2015-12-25
阅读 8 分钟
4k
本文将简单分析NSFetchedResultsController这个控制器类的用法和开源控件DEFetchRC的使用方法,文中用于讲解的代码片段,并不能直接粘贴使用,具体细节可以下载完整代码。

UITableView 编辑模式详解

2015-12-24
阅读 5 分钟
14.2k
UITableView的相关编辑操作非常全,今天我们来做一个总结。跟编辑相关的属性和接口有如下,我们一个一个分析,我们先认真阅读一下相关头文件,我根据意思大概翻译了一下注释。

iOS 本地化进阶教程

2015-12-23
阅读 2 分钟
3.4k
xib和storyboard作为两种不同类型的UI工具,让我们得以摆脱代码布局之苦,他们的本地化,既可以使用上一篇文章中的方法通过代码修改,也可以直接对xib和storyboard文件进行本地化操作,操作类似strings文件的Localize操作,见下图

iOS 本地化入门教程

2015-12-22
阅读 4 分钟
7.6k
iOS应用的本地化原理非常简单,是通过strings类型的文件,为同一种语言的不同翻译设置翻译表,应用再根据用户系统语言自动检索翻译表实现的。

iOS 系统授权开发

2015-12-21
阅读 5 分钟
4k
iOS系统开发中,最常用的系统授权,莫过于系统通知,用户相册,位置服务了,这篇文章将简单讲解这三项功能的开发,并附带我写的一个开源项目,统一管理系统授权。

iOS后台模式教程 (一)

2015-12-16
阅读 3 分钟
5.9k
Background Modes Tutorial: Getting Started iOS后台模式教程 (一) 原文 使用场景 在iOS7之前的系统中,当应用被挂起,拥有连续的10分钟时间来处理之前的任务,然后才会被系统终止。 所以,后台模式有一些特殊的使用场景。例如,更新位置,播放视频音频,和更新服务器请求。 开始 第一步设置工程中的Capabilities标签...

CloudKit 入门贴

2015-12-16
阅读 7 分钟
3.6k
CKContainer: Containers 就像应用运行的沙盒一样,一个应用只能访问自己沙盒中的内容而不能访问其他应用的。Containers 就是最外层容器,每个应用有且仅有一个属于自己的 container。事实上,经过开发者授权配置 CloudKit Dashboard 之后,一个应用也可以访问其他应用的 container。这里和App Group相同,和iCloud Docu...

Xcode-Snippets/Objective-C 学习

2015-07-24
阅读 9 分钟
3.5k
Xcode-Snippets是github上的一堆开源代码。作者mattt分享了他的Xcode-Snippets(xcode代码片段),今天我们来学习一下。

iOS Touch ID 简易开发教程

2015-01-27
阅读 4 分钟
18.3k
iOS系统的指纹识别功能最低支持的机型为iPhone 5s,最低支持系统为iOS 8,虽然安装iOS 7系统的5s机型可以使用系统提供的指纹解锁功能,但由于API并未开放,所以理论上第三方软件不可使用。

怎样降低iOS代码耦合性

2015-01-20
阅读 3 分钟
9.8k
凡是维护过中型项目的iOS工程师都应该有过类似的体验:ViewController代码繁重、功能复杂、维护困难,整个工程寥寥几个ViewController就完成了整个项目的开发。每个控制器中都囊括了所有的页面布局、委托代理、网络请求、数据库操作和核心功能,这样的代码往往问题重重,修改起来牵一发而动全身,着实令人头疼。