
iOS
文章平均质量分 82
斯人如是丶
这个作者很懒,什么都没留下…
展开
-
常用的开源类库
常用的开源类库原创 2015-10-26 17:25:20 · 949 阅读 · 0 评论 -
认识CoreData—高级用法
导读:认识CoreData—初识CoreData认识CoreData—基础使用认识CoreData—使用进阶正文:在之前的文章中,已经讲了很多关于CoreData使用相关的知识点。这篇文章中主要讲两个方面,NSFetchedResultsController和版本迁移。文章题目中虽然有“高级”两个字,其实讲的东西并不高级,只是因为上一篇文章中东西太多转载 2016-08-03 14:22:12 · 688 阅读 · 0 评论 -
NSAttributedString属性解析
NSFontAttributeName 设置字体属性,默认值:字体:Helvetica(Neue) 字号:12NSForegroundColorAttributeNam 设置字体颜色,取值为 UIColor对象,默认值为黑色NSBackgroundColorAttributeName 设置字体所在区域背景颜色,取值为 UIColor对象,默认原创 2016-07-20 10:06:35 · 327 阅读 · 0 评论 -
iOS开发必读-GitHub 上Top100 的 Objective-C 项目
原文链接:http://www.jianshu.com/p/5a3ec5e21b0e1.AFNetworking 作者是 NSHipster 的博主, iOS 开发界的大神级人物, 毕业于卡内基·梅隆大学, 开源了许多牛逼的项目, 这个便是其中之一, AFNetworking 采用 NSURLConnection + NSOperation, 主要方便与服务端 API 进行数据交换, 操作简单转载 2016-07-08 09:52:34 · 498 阅读 · 0 评论 -
iOS中保证线程安全的几种方式与性能对比
一、前言前段时间看了几个开源项目,发现他们保持线程同步的方式各不相同,有@synchronized、NSLock、dispatch_semaphore、NSCondition、pthread_mutex、OSSpinLock。后来网上查了一下,发现他们的实现机制各不相同,性能也各不一样。不好意思,我们平常使用最多的@synchronized是性能最差的。下面我们先分别介绍每个加锁方式的使用转载 2016-07-07 09:25:37 · 313 阅读 · 0 评论 -
GCD 深入理解(二)
原文链接:https://github.com/nixzhu/dev-blog/blob/master/2014-05-14-grand-central-dispatch-in-depth-part-2.md本文翻译自 http://www.raywenderlich.com/63338/grand-central-dispatch-in-depth-part-2原作者:Derek转载 2016-05-13 11:02:13 · 232 阅读 · 0 评论 -
如何在Release版本应用中删除NSAssert()断言
断言NSAssert()有助于程序员在开发阶段发现程序的Bug,但是在程序发布阶段断言如果不删除会严重影响到程序的运行效果,降低效率。要在发布release版本时删除掉NSAssert()信息,首先需要需要为Preprocessor Macros的release添加NS_BLOCK_ASSERTIONS字段。具体方法如下:选择项目,点击Building Setting菜单,转载 2016-07-01 11:01:38 · 1539 阅读 · 0 评论 -
提升工作效率的工具
PaintCode:一款有助于Core Graphics 的第三方工具,可以根据创建的图形生成代码。原创 2016-06-15 11:00:45 · 279 阅读 · 0 评论 -
Reactive Cocoa Tutorial = 只取所需的Filters
原文链接:http://www.cocoachina.com/industry/20140630/8985.html概览 简而言之,Reactive Cocoa(RAC)就是一个函数响应式编程思想在Cocoa下的实现。 说说在RAC框架下做了一个项目的赶脚吧: 挺新鲜挺有意思,开发人员水平很高,框架封装性和实用性一流,看了看人家对转载 2016-06-30 09:26:04 · 360 阅读 · 0 评论 -
RAC/MVVM个人学习资源汇总
文/OnePieceGoGo(简书作者)原文链接:http://www.jianshu.com/p/2cfed74789db著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。RAC和MVVM可以说是最近比较热门的话题,本着对新技术的好奇心,我也是东看看西看看了一个月,也算是初步入门了一下,于是便准备在这里向新新手推荐一些个人学习时所看过的博客以及demo。个人认为先转载 2016-06-30 09:23:37 · 549 阅读 · 0 评论 -
NSOprationQueue 与 GCD 的区别与选用
原文链接:http://www.jianshu.com/p/d09e2638eb27GCD 技术是一个轻量的,底层实现隐藏的神奇技术,我们能够通过GCD和block轻松实现多线程编程,有时候,GCD相比其他系统提供的多线程方法更加有效,当然,有时候GCD不是最佳选择,另一个多线程编程的技术NSOprationQueue 让我们能够将后台线程以队列方式依序执行,并提供更多操作的入口,这和转载 2016-06-13 17:48:00 · 230 阅读 · 0 评论 -
27个iOS开源库,让你的开发坐上火箭吧
作者:张嘉夫链接:https://www.zhihu.com/question/28816900/answer/76634312来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。27个iOS开源库,让你的开发坐上火箭吧你不会想错过他们,真的。我爱开源。并且我喜欢开发者们,把他们宝贵的私人时间用来创造神奇的东西,然后他们会和其他人分享并且不转载 2016-06-28 17:35:29 · 350 阅读 · 0 评论 -
唐巧总结的40个国人iOS技术博客
博客地址RSS地址OneV's Denhttp://onevcat.com/atom.xml破船之家http://beyondvincent.com/atom.xmlNSHipsterhttp://nshipster.cn/feed.xmlLimboy 无网不剩http://feeds.feedburner.com/l转载 2016-06-28 16:12:44 · 429 阅读 · 0 评论 -
Runtime简单粗暴理解
原文链接:http://www.cocoachina.com/ios/20160608/16630.html从C的面向过程到接触OC的对象、消息的过渡初期总会有知其然不知其所以然的纠结,相关的学习资源一般都是介绍有什么、使用步骤一二三四的套路,这样就很难知道知道本质是什么,能干什么不能干什么,为什么要选择用它。而实际开发过程,都是先有什么要解决,再努力找到实现方法。人脑的容易接受的信息,也转载 2016-06-08 14:21:02 · 282 阅读 · 0 评论 -
iOS 三种录制视频方式
原文链接:http://www.cocoachina.com/ios/20160518/16328.html随着每一代 iPhone 处理能力和相机硬件配置的提高,使用它来捕获视频也变得更加有意思。它们小巧,轻便,低调,而且与专业摄像机之间的差距已经变得非常小,小到在某些情况下,iPhone 可以真正替代它们。这篇文章讨论了关于如何配置视频捕获管线 (pipeline) 和最大限转载 2016-05-18 14:15:11 · 2354 阅读 · 0 评论 -
认识CoreData—初识CoreData
原文链接:http://www.cocoachina.com/ios/20160729/17245.html在CoreData中有一些常用的类,称呼可能各不相同。所以这里先约定一些关键字,以便理解后面的一些内容,这些约定很多都是出现在苹果的官方文档中的。NSPersistentStoreCoordinator(Persistent Store Coordinator),缩写为PSC转载 2016-08-03 14:27:28 · 270 阅读 · 0 评论 -
认识CoreData—基础使用
原文链接:http://www.cocoachina.com/ios/20160801/17248.html第一篇文章中并没有讲CoreData的具体用法,只是对CoreData做了一个详细的介绍,算是一个开始和总结吧。这篇文章中会主要讲CoreData的基础使用,以及在使用中需要注意的一些细节。因为文章中会插入代码和图片,内容可能会比较多,比较考验各位耐心。文章中如有疏漏转载 2016-08-03 14:28:28 · 534 阅读 · 0 评论 -
CocoaPods详解之----制作篇
CocoaPods详解之----制作篇作者:wangzz原文地址:http://blog.youkuaiyun.com/wzzvictory/article/details/20067595转载请注明出处如果觉得文章对你有所帮助,请通过留言或关注微信公众帐号wangzzstrive来支持我,谢谢!学会使用别人的Pods依赖库以后,你一定对创建自己的依赖库转载 2016-09-06 16:28:10 · 345 阅读 · 0 评论 -
CocoaPods制作
以YPKit为例:第一步:创建和编辑LICENSE和YPKit.YPKit.podspec文件,第二步:$pod lib lint当看到:YPKit passed validation. 说明验证成功。第三步:创建tag:$git tag -a 1.0 -m "init"push tag:$git push --tags第四步:$pod setup第五步:$pod原创 2016-01-07 15:28:15 · 289 阅读 · 0 评论 -
JSPatch 部署安全策略
使用 JSPatch 有两个安全问题:传输安全:JS 脚本可以调用任意 OC 方法,权限非常大,若被中间人攻击替换代码,会造成较大的危害。执行安全:下发的 JS 脚本灵活度大,相当于一次小型更新,若未进行充分测试,可能会出现 crash 等情况对 APP 稳定性造成影响。接下来说下这两个问题的解决方案。传输安全方案一:对称加密若要让 JS 代码传输过转载 2016-09-06 11:51:42 · 259 阅读 · 0 评论 -
在iOS上自动检测内存泄露,FBRetainCycleDetector, FBAllocationTracker 和 FBMemoryProfiler
手机设备的内存是一个共享资源。应用程序可能会不当的耗尽内存、崩溃,或者遭遇大幅度的性能降低。Facebook iOS客户端有很多功能,并且它们共享同一块内存空间。如果任何特定的功能消耗过多的内存,就会影响到整个应用程序。这是可能发生的,比如,这个功能导致了内存泄露。当我们分配了一块内存,并设置了对象之后,如果在使用完了之后忘记释放,这就会发生内存泄露。这意味着系统是无法回收内存并交转载 2016-09-06 11:36:13 · 4948 阅读 · 0 评论 -
iOS图片加载速度极限优化—FastImageCache解析
原文链接:http://blog.cnbang.net/tech/2578/FastImageCache是Path团队开发的一个开源库,用于提升图片的加载和渲染速度,让基于图片的列表滑动起来更顺畅,来看看它是怎么做的。优化点iOS从磁盘加载一张图片,使用UIImageVIew显示在屏幕上,需要经过以下步骤:从磁盘拷贝数据到内核缓冲区从内核缓冲区复制数据到用户转载 2016-09-06 11:49:15 · 387 阅读 · 0 评论 -
JSPatch技术文档
原文连接:http://www.jianshu.com/p/0cb81bf23d7a一、背景需求介绍为什么我们需要一个热修复(hot-fix)技术?工作中容易犯错、bug难以避免。开发和测试人力有限。苹果Appstore审核周期太长,一旦出现严重bug难以快速上线新版本。作为生产力工具,用户有对稳定性和可靠性的需求。二、JSPatch简介JSPatch诞生于2015年5月,转载 2016-09-06 11:09:48 · 258 阅读 · 0 评论 -
iOS,面试必看,最全梳理
原文链接:http://www.cocoachina.com/ios/20160323/15770.html序言目前形势,参加到iOS队伍的人是越来越多,甚至已经到供过于求了。今年,找过工作人可能会更深刻地体会到今年的就业形势不容乐观,加之,培训机构一火车地向用人单位输送iOS开发人员,打破了生态圈的动态平衡。矫情一下,言归正传,我奉献一下,为iOS应聘者梳理一下面试题,希望能助一转载 2016-08-08 09:58:43 · 615 阅读 · 0 评论 -
NSString部分属性和方法介绍
// 指定编码和字节数初始化NSString对象- (instancetype)initWithBytes:(const void *)bytes length:(NSUInteger)length encoding:(NSStringEncoding)encoding// 指定缓冲区,编码原创 2016-08-18 14:16:57 · 3060 阅读 · 0 评论 -
UIViewController部分属性和方法介绍
// 视图对象,如果视图没被创建的话,为空@property(nonatomic, readonly, strong) UIView *viewIfLoaded// 视图大小@property(nonatomic) CGSize preferredContentSize// 如果视图没被创建的话,创建视图,开始于iOS9- (void)loadViewIfNeeded原创 2016-08-17 16:39:25 · 2790 阅读 · 0 评论 -
UIView部分属性介绍
opaque:该属性用与决定该消息接收者(UIView instance)是否让其视图不透明。 其用处在于:给绘图系统提供一个性能优化开关。如果该值为YES, 那么绘图在绘制该视图的时候把整个视图当作不透明对待。这样,绘图系统在执行绘图过程中会优化一些操作并提升系统性能;如果是设置为NO, 绘图系统将其和其他内容平等对待,不去做优化操作。为了性能方面的考量,默认被置为YES(意味着‘优化’)。原创 2016-08-15 18:02:54 · 566 阅读 · 0 评论 -
UIView部分方法介绍(主要是用得相对较少的方法)
类方法://返回一个用于为实例创建图层的类+ (Class)layerClass//指定一个关键帧的单个贞的时间和动画,从IOS7开始使用//这里说一下参数,第一个frameStartTime其实是个倍数从0到1,假设一个动画持续的时间是2秒//设置frameStartTime为0.5,那么后面设置的动画,将会在整体动画执行1秒后开始执行//第二个参数frameDurati原创 2016-08-15 18:02:16 · 4040 阅读 · 0 评论 -
认识CoreData—多线程
原文链接:http://www.cocoachina.com/ios/20160804/17282.html正文:CoreData使用相关的技术点已经讲差不多了,我所掌握的也就这么多了....在本篇文章中主要讲CoreData的多线程,其中会包括并发队列类型、线程安全等技术点。我对多线程的理解可能不是太透彻,文章中出现的问题还请各位指出。在之后公司项目使用CoreData的转载 2016-08-08 10:33:58 · 280 阅读 · 0 评论 -
UIView的setNeedsLayout, layoutIfNeeded 和 layoutSubviews 方法之间的关系解释
原文链接:http://blog.youkuaiyun.com/meegomeego/article/details/39890385layoutSubviews总结ios layout机制相关方法- (CGSize)sizeThatFits:(CGSize)size- (void)sizeToFit——————-- (void)layoutSubviews转载 2016-08-15 15:57:17 · 261 阅读 · 0 评论 -
认识CoreData—使用进阶
原文链接:http://www.cocoachina.com/ios/20160802/17260.html之前两篇文章都比较偏理论,文字表达比较多一些,但都是干货!学习时先理解理论知识,才能更好的帮助后面的理解。在这篇文章中,将会涉及关于CoreData的一些复杂操作,这些操作会涉及分页查询、模糊查询、批处理等高级操作。通过这些操作可以更好的使用CoreData,提升Core转载 2016-08-03 14:29:50 · 437 阅读 · 0 评论 -
iOS对UIViewController生命周期和属性方法的解析(转载)
iOS对UIViewController生命周期和属性方法的解析一、引言 作为MVC设计模式中的C,Controller一直扮演着项目开发中最重要的角色,它是视图和数据的桥梁,通过它的管理,将数据有条有理的展示在我们的View层上。iOS中的UIViewController是UIKit框架中最基本的一个类。从第一个UI视图到复杂完整项目,都离不开UIViewCon转载 2016-05-03 11:44:30 · 2091 阅读 · 0 评论 -
微信,QQ这类IM app怎么做——谈谈Websocket
原文链接:http://www.cocoachina.com/ios/20160527/16482.html前言关于我和WebSocket的缘:我从大二在计算机网络课上听老师讲过之后,第一次使用就到了毕业之后的第一份工作。直到最近换了工作,到了一家是含有IM社交聊天功能的app的时候,我觉得我现在可以谈谈我对WebSocket/Socket的一些看法了。要想做IM聊天app,就转载 2016-05-27 10:42:30 · 681 阅读 · 0 评论 -
iOS:你真的理解你在用的自定义NSLog吗?
自定义NSLog我们在调试程序的时候,往往需要输出一些日志信息,用到NSLog函数,当我们准备发布程序,需要注释掉NSLog代码,这个时候往往会定义一个宏,在调试的时候,会输出日志,在Release正式版本的时候,会关闭日志输出。代码如下:12345#ifdef DEBUG#define CLog(转载 2016-05-27 10:12:35 · 232 阅读 · 0 评论 -
AppStore申请加急审核
提交完成后进入加急审核页面。链接:https://developer.apple.com/appstore/contact/appreviewteam/index.html在i would like to里选择加急审核然后填写相关信息。App Information里填写应用名称,ID填写9位数字ID。继续转载 2015-11-30 09:29:23 · 375 阅读 · 0 评论 -
CocoaPods安装和更新命令
CocoaPods安装和更新命令原创 2015-11-18 10:34:15 · 434 阅读 · 0 评论 -
KVC/KVO原理详解及编程指南(转载)
作者:wangzz原文地址:http://blog.youkuaiyun.com/wzzvictory/article/details/9674431前言:1、本文基本不讲KVC/KVO的用法,只结合网上的资料说说对这种技术的理解。2、由于KVO内容较少,而且是以KVC为基础实现的,本文将着重介绍KVC部分。一、简介KVC/KVO是观察者模式的一种实转载 2016-05-05 15:13:07 · 316 阅读 · 0 评论 -
iOS:堆(heap)和栈(stack)的理解(转载)
http://mobile.51cto.com/iphone-394484.htm转载 2016-05-03 11:40:51 · 329 阅读 · 0 评论 -
Objective-C 的底层实现(Runtime)(转载)
过去的几年中涌现了大量的Objective-C开发者。有些是从动态语言转过来的,比如Ruby或Python,有些是从强类型语言转过来的,如 Java或C#,当然也有直接以Objective-C作为入门语言的。也就是说有很大一部分开发者都没有使用Objective-C太长时间。当你接触 一门新语言时,更多地会关注基础知识,如语法和特性等。但通常有一些更高级的,更鲜为人知又有强大功能的特性等待你去转载 2016-05-04 17:56:52 · 302 阅读 · 0 评论 -
Cocoa Touch事件处理流程--响应者链(转载)
原文:http://www.cnblogs.com/snake-hand/p/3178070.html一、事件分类对于IOS设备用户来说,他们操作设备的方式主要有三种:触摸屏幕、晃动设备、通过遥控设施控制设备。对应的事件类型有以下三种:1、触屏事件(Touch Event)2、运动事件(Motion Event)3、远端控制事件(Remote-Control转载 2016-05-09 17:28:00 · 329 阅读 · 0 评论