interface和setter,getter

2017-12-09
阅读 3 分钟
2.3k
ObjC的@interface设计,跟Java和C#真的很像,但又略有不同,相比之下Java和C#则像是一个模子刻出来的。ObjC的特点十分明显,首先是一般不用写@private和@public来区分私有变量,大部分ObjC开发者甚至都不知道还有这两个关键字,其实Cocoa源代码中也基本没有使用过这种设计,即使ObjC是支持的。

认识ObjC,改造Cocoa

2017-12-07
阅读 2 分钟
2.5k
接上篇,其实在接触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...

UIView-Maker,实现UIView的clone操作和统一样式模型

2017-05-05
阅读 2 分钟
4.4k
在iOS的开发中,对于页面偏多的中大型项目来说,使用纯storyboard进行页面构建是比较痛苦的,所有的困难中,首当其冲的是批量修改控件样式。虽然Apple的工程师提供了像appearance这样的特别技术帮助大家批量配置样式,但面对庞大的项目仍有一定的局限性。

MMDrawerController和UITableView的手势冲突

2017-05-03
阅读 2 分钟
6.1k
MMDrawerController作为一个在Github上超过6k Star的热门项目,估计不少朋友都有用过。 在MMDrawerController的使用过程中,难免遇到一下手势冲突问题,这里集中记录一下本人的解决办法。 MMOpenDrawerGestureModeAll造成UITableView不能侧滑打开cell编辑功能的问题 这个问题解决需要两个步骤,首先,继承MMDrawerContro...

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,或者你叫他滚床单也没有人反对,嘿嘿。

Objective-C进化特性

2016-06-17
阅读 3 分钟
2.6k
毫无疑问,Objective-C (下称ObjC)在诞生三十年后,因为iOS系统在移动设备领域的制霸,迎来了近五年来一年一波的进化,这些新特性表明ObjC这个年事已高的语言,仍在一步一步追逐现代编程语言的步伐。

Objective-C基本数据类型

2016-06-15
阅读 4 分钟
6.8k
因为Objective-C(下称ObjC)本质是一个C语言的超集,所以所有C语言支持的基本数据类型,ObjC同样支持,并且ObjC还支持一些其它的常用数据类型。

Objective-C数据类型 - NSObject

2016-06-15
阅读 3 分钟
3k
Objective-C(下称ObjC)语言是一个C语言的面向对象的封装,从英文名字上就能看出端倪,Object即为对象,等同于C++、Java中的类(Class)。

mysql建表时的PK,NN,UQ,BIN,UN,ZF,AI

2016-05-31
阅读 1 分钟
3.9k
mysql在建表时,需要给字段设置类型标识 这些标识包括基本字段类型标识(intrinsic column flags) {代码...} 和扩展数据类型标记(additional data type flags, depend on used data type) {代码...}

如解决NSFetchedResultsController 和 UICollectionView一起使用时产生的崩溃

2016-04-28
阅读 2 分钟
4.5k
NSFetchedResultsController是一个非常好用且强大的数据库绑定类,用来处理CoreData和UIView的数据绑定非常便捷。

iOS实现依赖注入

2016-03-22
阅读 3 分钟
6.4k
依赖注入(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.7k
我也很喜欢做动画动效,特来学习观摩。因为动效的特殊性,很多情况下这个项目里的动效不能直接Copy到我们现有的项目中直接使用,所以搞清楚她们的实现原理就很有必要了。建议配合源码学习。

UINavigationBar的继承与定制

2016-01-14
阅读 6 分钟
5.6k
注意到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框架的自定义控件系列教程,我们将从基础开始,由浅入深,分析讲解自定义控件的相关知识和技巧。

一个程序员的理想主义

2015-12-31
阅读 2 分钟
4k
2011年iPhone蓄势待发准备横扫全球,App Store开始造富,让我们这些非计算机专业的穷学生,都开始转入App行业酌一杯羹。App Store给了全球的开发者一个平台,在这个平台上,人人平等,你不用贿赂巴结苹果的工作人员,也可以常年在榜单上占据一席之地,只要你的软件足够好。

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.2k
RAC(<#TARGET, ...#>)宏用来将一个对象的属性和信号量绑定,RACObserve(<#TARGET#>, <#KEYPATH#>)宏则用来生成一个对象的绑定属性的信号量,这样描述很抽象,上一个例子解释

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

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

UITableView 编辑模式详解

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

iOS 本地化进阶教程

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

iOS 本地化入门教程

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