
IOS技术笔记
文章平均质量分 95
冷小G
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
iOS 容易引“起循环引用”的三种场景
笔者在阅读中总结了一下,在iOS平台容易引起循环引用的四个场景:一、parent-child相互持有、委托模式【案例】:?123456@interface FTAppCenterMainViewController (){} @property(weak,nonatomic) UITableView* myTa转载 2015-05-07 17:22:20 · 648 阅读 · 0 评论 -
iOS依赖注入框架系列(一):介绍Typhoon
iOS依赖注入框架系列(一):介绍Typhoon 翻译翻译 2015-08-04 17:25:10 · 4145 阅读 · 2 评论 -
iOS依赖注入框架系列(二):设置Typhoon
iOS依赖注入框架系列(二):设置Typhoon翻译 2015-08-04 17:26:43 · 2508 阅读 · 1 评论 -
Cucumber
Cucumber是BDD(行为驱动开发)中成熟的一个框架,官方网址: http://cukes.info/1、cucumber安装1、安装ruby2、gem install cucumber 安装cucumber2、cucumber介绍cucumber是一种可以使用文本描述语言来执行自动测试用例的工具,使用的语言叫做Gherkin.Gherkin用于描述软件的行为而转载 2015-11-19 15:25:51 · 7716 阅读 · 0 评论 -
iOS 适配64位系统需要注意什么?
64-bit Tips原文:http://blog.sunnyxx.com/2014/12/20/64-bit-tips/2014年12月20日终究还是来了。Apple下发了支持64位的最后通牒:As we announced in October, beginning February 1, 2015 new iOS apps submitted to the App转载 2016-04-05 11:42:36 · 665 阅读 · 0 评论 -
苹果:6月1日后所有应用必须支持IPv6-only网络
最新消息今天苹果推出重磅消息,6月1日后所有应用必须支持IPv6-only网络!!!当iOS开发者看到这个消息的第一反应可能就是IPv6是个什么鬼!!其实IPv6早在很早之前就已经推出,而且苹果在2015年的开发者大会上就已经提出苹果将力挺IPv6官网链接IPv6-only说了这么多,IPv6到底是个什么鬼!我们来看看百度百科是怎么解释的:我们再来看看官方给出的IPv6与I转载 2016-05-10 14:25:11 · 6291 阅读 · 0 评论 -
Block源码解析和深入理解
Block源码解析和深入理解Block的本质Block是”带有自动变量值的匿名函数”.我们通过Clang(LLVM编译器)来将OC的代码转换成C++源码的形式,通过如下命令:clang -rewrite-objc 源代码文件名下面,我们要转换的Block语法1234567int main(int argc, const cha原创 2016-05-12 13:43:39 · 9443 阅读 · 0 评论 -
【BDD】calabash 和 cucumber的使用
##【BDD】calabash 和 cucumber的使用 本文介绍的是BDD的开发新框架之一—– Calabash-ios。 Calabash是一款开源的跨平台UI测试工具,目前支持iOS和Android。它使用Cucumber作为测试核心,Cucumber是一个在敏捷团队十分流行的自动化的功能测试工具,它使用接近于自然语言的特性文档进行用例的书写和测试,支持多语言和多平台。原创 2016-05-12 13:46:34 · 4089 阅读 · 0 评论 -
iOS持续集成:jenkins+gitlab+蒲公英+邮件通知(Part 1)
iOS持续集成:jenkins+gitlab+蒲公英+邮件通知(Part 1)jenkins环境搭建在Mac环境下,我们需要先安装JDK,然后在jenkins的官网下载最新Mac OS X版本的dmg包。安装完dmg包之后 默然自动开启jenkins服务,默认端口8080.这样就可以直接在浏览器中输入以下地址就可以打开jenkins了:1http:原创 2016-05-12 13:48:40 · 4267 阅读 · 0 评论 -
依赖注入——让iOS代码更简洁
依赖注入——让iOS代码更简洁原文链接:https://corner.squareup.com/2015/06/dependency-injection-in-objc.html转自:http://blog.youkuaiyun.com/linshaolie/article/details/47037941#report 本文是自己通过阅读 Dependency I转载 2015-08-04 14:26:46 · 4684 阅读 · 0 评论 -
开源 iOS 项目分类索引大全
开源 iOS 项目分类索引大全GitHub 上大概600个开源 iOS 项目的分类和介绍,对于你挑选和使用开源项目应该有帮助系统基础库Category/Util sstoolkit一套Category类型的库,附带很多自定义控件 功能不错~ BlocksKit转载 2015-07-30 18:02:45 · 1562 阅读 · 0 评论 -
Objective-C Method Swizzling 的最佳实践
Objective-C Method Swizzling 的最佳实践JUN 14TH, 2015 12:03 PMObjective-C 中的 Method Swizzling 是一项异常强大的技术,它可以允许我们动态地替换方法的实现,实现 Hook 功能,是一种比子类化更加灵活的“重写”方法的方式。Method Swizzling 的原理Method Sw转载 2015-06-15 09:27:38 · 571 阅读 · 0 评论 -
IOS 多线程 RUNLOOP 机制 (二)
二,何时使用Run Loop对于辅助线程,在需要和线程有更多交互时,才使用Run Loop。比如:1)使用端口或者自定义输入源来和其他线程通讯2)使用线程定时器3)Cocoa中使用任何performSelector...的方法(参考Table:Performing selectors on other threads)4)使线程周期性工作转载 2015-05-07 20:43:35 · 522 阅读 · 0 评论 -
IOS 多线程 RUNLOOP 机制 (三)
四,配置Run Loop源---配置源的过程就是源的创建调用过程配置过程分为以下几个阶段---定义/创建(一个源)---安装(将输入源安装到所在Run Loop中)---注册(将输入源注册到客户端,协调输入源的客户端)---调用(通知输入源,开始工作)4-1,定义自定义输入源创建自定义输入源需要定义以下内容1)输入源要处理的信息2)使感兴趣的客户端知道如何和转载 2015-05-07 20:44:24 · 652 阅读 · 0 评论 -
objective-c中对象所有权的内存管理(关于set,get方法),以及如何使用@property来进行简易操作
holydancer原创,如需转载,请在显要位置注明:转自holydancer的优快云专栏,原文地址:http://blog.youkuaiyun.com/holydancer/article/details/7360360之前我们已经介绍过了,在OC中,每一个对象都有一个引用计数,来判断有多少个单位正在使用该对象,当引用计数为0时,说明没有单位再使用这片空间了,就会调用该对象的deallo转载 2015-05-07 17:23:39 · 766 阅读 · 0 评论 -
iOS设计模式之观察者模式-精讲
什么是观察者模式?我们先打个比方,这就像你订报纸。比如你想知道美国最近放生了些新闻,你可能会订阅一份美国周刊,然后一旦美国有了新的故事,美国周刊就发一刊,并邮寄给你,当你收到这份报刊,然后你就能够了解美国最新的动态。其实这就是观察者模式,A对B的变化感兴趣,就注册为B的观察者,当B发生变化时通知A,告知B发生了变化。这是一种非常典型的观察者的用法,我把这种使用方法叫做经典观察者模式。当然与之相对的转载 2015-05-27 10:53:31 · 770 阅读 · 0 评论 -
Masonry介绍与使用实践(快速上手Autolayout)
前言1MagicNumber -> autoresizingMask -> autolayout以上是纯手写代码所经历的关于页面布局的三个时期在iphone1-iphone3gs时代 window的size固定为(320,480) 我们只需要简单计算一下相对位置就好了在iphone4-iphone4s时代 苹果转载 2015-06-24 16:48:28 · 748 阅读 · 0 评论 -
Objective-C Runtime 经典讲解系列一
Objective-CObjective-C 扩展了 C 语言,并加入了面向对象特性和 Smalltalk 式的消息传递机制。而这个扩展的核心是一个用 C 和 编译语言 写的 Runtime 库。它是 Objective-C 面向对象和动态机制的基石。Objective-C 是一个动态语言,这意味着它不仅需要一个编译器,也需要一个运行时系统来动态得创建类和对象、进行消息传递和转发。理解 O转载 2015-05-26 14:53:56 · 778 阅读 · 0 评论 -
Objective-C Runtime 经典讲解系列三
本文是 Objective-C Runtime 系列文章的第三篇。如果你对 Objective-C Runtime 还不是很了解,可以先去看看前两篇文章:Objective-C RuntimeMethod Swizzling 和 AOP 实践本篇会探究 KVO (Key-Value Observing) 实现机制,并去实践一番 - 利用 Runtime 自己动手去实现 KVO 。K转载 2015-05-26 15:44:42 · 739 阅读 · 0 评论 -
object—c runtime 经典讲解系列二
上一篇介绍了 Objective-C Messaging。利用 Objective-C 的 Runtime 特性,我们可以给语言做扩展,帮助解决项目开发中的一些设计和技术问题。这一篇,我们来探索一些利用 Objective-C Runtime 的黑色技巧。这些技巧中最具争议的或许就是 Method Swizzling 。介绍一个技巧,最好的方式就是提出具体的需求,然后用它跟其他的解决方法做转载 2015-05-26 15:43:09 · 710 阅读 · 0 评论 -
iOS持续集成:jenkins+gitlab+蒲公英+邮件通知(Part 2)
iOS持续集成:jenkins+gitlab+蒲公英+邮件通知(Part 2)Jenkins 系统设置 前期准备Jenkins 插件安装安装GitLab插件因为我们项目用的是GitLab来管理源代码,jenkins本身并没有自带GitLab插件,所以我们需要依次选择 ***系统管理 -> 管理插件*** 在"***可选插件***"中选择GitLab Plugin 和 Git原创 2016-05-12 13:49:30 · 4326 阅读 · 0 评论 -
iOS开发经验总结
iOS开发经验总结在iOS开发中经常需要使用的或不常用的知识点的总结,几年的收藏和积累(踩过的坑)。一、 iPhone Size手机型号屏幕尺寸iPhone 4 4s320 * 480iPhone 5 5s320 * 568iPhone 6 6s375 * 667iphone 6 plus转载 2016-05-12 16:20:07 · 4248 阅读 · 0 评论 -
深入理解密码技术
对称加密:DESDES是1977年美国联邦信息处理标准中使用的一种对称密码技术,曾今被美国和其他国家政府银行使用。不过现在已被暴力破解,我们除了用它解密以前的密文外,已不再使用DES了。不过这里我们可以用它来了解下什么是对称加密。加密和解密DES是一种把64比特明文加密成64比特的密文的对称密码算法,密钥长度56位,其中每隔7比特有个错误检查比特。结果DES密钥总长度为64原创 2016-05-20 11:51:58 · 5840 阅读 · 0 评论 -
iOS ReactiveCocoa 最全常用API整理(可做为手册查询)
本文适合有一定RAC基础的童鞋做不时的查询,所以本文不做详细解释。一、常见类1、RACSiganl 信号类。RACEmptySignal :空信号,用来实现 RACSignal 的 +empty 方法;RACReturnSignal :一元信号,用来实现 RACSignal 的 +return: 方法;RACDynamicSignal :动态信号,使用一个 block - 来实现订阅行为,我们在使转载 2017-06-22 10:32:39 · 378 阅读 · 0 评论 -
MVVM + RAC 实践
“MVVM很诱人,因为它集合了上述方法的优点,并且由于在View层的绑定,它并不需要其他附加的代码来更新View,尽管这样,可测试性依然很强。”原创 2017-06-26 14:56:42 · 692 阅读 · 0 评论 -
深入理解 iOS 开发中的锁
深入理解 iOS 开发中的锁摘要本文的目的不是介绍 iOS 中各种锁如何使用,一方面笔者没有大量的实战经验,另一方面这样的文章相当多,比如 iOS中保证线程安全的几种方式与性能对比、iOS 常见知识点(三):Lock。本文也不会详细介绍锁的具体实现原理,这会涉及到太多相关知识,笔者不敢误人子弟。本文要做的就是简单的分析 iOS 开发中常见的几种锁如何实现,以及优缺点是什转载 2017-07-25 18:18:54 · 566 阅读 · 0 评论 -
关于 @synchronized,这儿比你想知道的还要多
文章目录1. 用到 @synchronized 的例子2. 回到研究上来本文翻译自 Ryan Kaplan 的 More than you want to know about @synchronized因为原文一些内容写的不太准确,我按照我的理解做出了批注和补充。如果你已经使用 Objective-C 编写过任何并发程序,那么想必是见过 @synchronized 这货了。@翻译 2017-07-25 18:29:51 · 464 阅读 · 0 评论 -
深入理解iOS App的启动过程
前言启动时间是衡量应用品质的重要指标。本文首先会从原理上出发,讲解iOS系统是如何启动App的,然后从main函数之前和main函数之后两个角度去分析如何优化启动时间。准备知识Mach-O哪些名词指的是Mach-oExecutable 可执行文件Dylib 动态库Bundle 无法被连接的动态库,只能通过dlopen()加载Image 指的是Executable,Dylib或者Bundle的一种,...转载 2018-04-10 19:20:51 · 853 阅读 · 0 评论 -
16个小众却很实用的网站(程序员 向)
https://zhuanlan.zhihu.com/p/230054513个月以前在知乎上回答一个问题【有哪些能集实用,装逼于一身的冷门网站?】得到很多小伙伴的喜爱,一直到现在都还陆陆续续收到大家的赞,谢谢大家。于是,我就想,现在有了专栏,干脆把这个回答写成一篇文章吧,当然肯定不是原封不动的摘抄过来,我会再添加一些比较小众但很实用的网站,希望可以给大家一些参考和帮助。---以下是我在该问答下的回...转载 2018-04-10 20:52:52 · 2555 阅读 · 0 评论 -
iOS Class Guard github译文及使用经验总结
iOS Class Guard github译文及使用经验总结个人改版后的 class guard 支持 指定方法类属性混淆。请给与小星星支持下:https://github.com/RunningYoung/ios-class-guardiOS Class Guard github 译文iOS-Class-Guard是一个用于OC类、协议、属性和方法名混淆的命令行工具。它是class-dump的...转载 2018-04-11 20:48:57 · 3219 阅读 · 1 评论 -
UIViewController 修改子视图Frame的大小
//设置子控制器View大小- (void)viewDidLayoutSubviews { [super viewDidLayoutSubviews]; if (self.policyVC) { self.policyVC.view.frame = CGRectMake(0, 0, 200, 200); }}或者在viewDidAppe...原创 2019-06-18 19:21:25 · 2852 阅读 · 0 评论 -
收集的Objective-C runtime博客及知识点总结
这是收集到的一些关于OC runtime的blog。文中的技术要点为各个blog的技术点的结论总结,抛却文中源码和解析过程,不想看原文的可以直接看要点干货。关于category深入理解Objective-C:Category 技术要点:一 category是Objective-C 2.0之后添加的语言特性,category的主要作用:为已经存在的类添加方法把类的实现分开在几个不同的categor原创 2017-06-20 14:58:08 · 835 阅读 · 0 评论 -
MVC/MVP/MVVM 三种设计模式 汇总
原文 :http://blog.youkuaiyun.com/hudan2714/article/details/50990359MVCMVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改转载 2017-06-20 14:25:23 · 1236 阅读 · 0 评论 -
使用 Phabricator & Arcanist 进行 Code Review 的流程
使用 Phabricator & Arcanist 进行 Code Review 的流程之前我们讲过 Git 使用规范与注意事项,这次我们需要在 git 基础上加入 code review 机制。 下面 git 命令的简写,请参考上面链接中的内容。Before Using Phabricator & ArcanistMinor Change如果只是修改小部分代码,不需要开 feature bran原创 2017-06-20 14:14:35 · 16546 阅读 · 0 评论 -
读书笔记(UIKit性能优化解析和Block经典实用)(一)
读书笔记(一)一、instancetype 和 id 作为初始化实例 返回值的不同Objective-C的一些使用惯例不仅仅是好的编程习惯,更是给编译器的隐藏指令。例如, alloc 和 init 的返回类型都是 id ,然而在Xcode中,编译器会检查所有正确类型。它是怎么做到的呢?在Cocoa中,约定 alloc 或 init 的方法总是返回接收器类实例的对象。据说这些方法有一原创 2016-05-12 13:47:36 · 3662 阅读 · 0 评论 -
Github 主页:https://github.com/RunningYoung
新博客地址:https://runningyoung.github.io/原创 2015-07-20 17:25:02 · 58354 阅读 · 0 评论 -
IOS 性能提升总结
IOS 性能提升总结该文章只做个人学习记录:原文:http://www.jianshu.com/p/866ba7a38a23?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io使用复用机制在我们使用 UITableView 和 UICollectionView 时我们通常会遇到「复用 Cell」这个提法,所谓「转载 2016-09-21 18:05:55 · 532 阅读 · 0 评论 -
转载声明!!!!
本博客转载内容均为个人学习和记录,如有侵犯请联系博主删除!!!原创 2016-11-14 17:21:46 · 443 阅读 · 0 评论 -
《Objective-C 高级编程》读书笔记之 ARC
前言本文作为《Objective-C 高级编程》读书笔记的第一篇,给大家带来的是关于 ARC(Automatic Reference Counting)自动引用计数的知识点总结。概念顾名思义,ARC(Automatic Reference Counting)— 自动引用计数,是指内存管理中对引用采取自动计数的技术。以下摘自苹果的官方文档:Automatic Referenc转载 2016-11-14 17:40:57 · 535 阅读 · 1 评论 -
《Objective-C 高级编程》读书笔记之 GCD
前言本文作为《Objective-C 高级编程》读书笔记的第三篇,也是最后一篇,给大家带来的是关于 Grand Central Dispatch (GCD) 的知识点总结。概念Grand Central Dispatch (GCD) 是异步执行任务的技术之一。开发者只需要定义想执行的任务并追加到适当的 Dispatch Queue 中,GCD 就能生成必要的线程并计划执行任务。由于转载 2016-11-14 17:43:32 · 577 阅读 · 0 评论