- 博客(27)
- 收藏
- 关注
原创 RN StackNavigator的使用
RN-News一个新闻的demo 此项目是我第一个github分享的demo,也是第一个RN的小项目,主要是用来练手,RN版本为0.52.0,代码中用了免费的集合数据API,过期可能就无效。此demo对于深入研究 RN的意义不大,对于入门级的可以参考,希望能帮助到和我一样的小白。支持IOS和Android,因为有限的API,页面也就这么多了。 在兼容Android过程中遇到了一个坑,在模拟器
2018-03-01 11:23:22 1316
转载 Telegram 之 MTProtoKit 架构分析
上回我们对TeamTalk做了一个比较详细的架构分析,并得到了蘑菇街的官方回复,这种态度还是值得很多公司技术运营学习的。本打算对Telegram的Mac客户端也做一次架构分析的,但发现它的源码比较杂乱,里面混合很多有用没用的文件,另外它的抽象方式也是非常奇怪,继承体系也不是很合理,大致看了下,我就决定放弃了。而无意间却让我点开了它里面所依赖的一个Sub Module:MTProtoKit,我发现这
2016-07-20 17:57:51 16600
原创 MAC上如何安装protocolBuf工具
在网上游荡很久,也试了很久,都被坑,最后查了多方资料安装成功一开始我是按照http://m.blog.csdn.net/article/details?id=44244687 来安装,发现brew install automake 报错,automake-1.15 already installed, it's just not linked 说是已安装,但是没有链接,我也是醉了,然后我
2016-07-20 17:36:50 1856
原创 Asyncdisplaykit
基本概念 AsyncDisplayKit的基本单元是node. ASDisplayNode是UIView和CALayer的抽象。ASDisplayNode是线程安全的,可以在工作线程中并行地初始化和配置整个node树。 如果保证帧率到60fps,那么所有的layout和drawing需要在16ms内完成。由于系统的开销,留给我们的只有大概10ms。 AsyncDisp
2016-04-21 16:28:15 512
原创 介绍一个轻量级iOS安全框架:SSKeyChain
SSKeyChains对苹果安全框架API进行了简单封装,支持对存储在钥匙串中密码、账户进行访问,包括读取、删除和设置。SSKeyChain的作者是大名鼎鼎的SSToolkit的作者samsoffes。
2016-04-20 17:24:13 461
转载 非常有用的文档
别人整理翻译的最新版 iOS 最佳实践,该译本不仅呈现了原版的原汁原味,还扩充了相关的知识点及最新的开发实践,在原版的基础上融合了以往 Objective-C 和最近一些关于 Swift 的内容, 放在这里!https://github.com/KevinHM/ios-good-practices-the-lastest-version2、MVVM架构之Re
2015-09-15 18:21:03 330
转载 AFNetworking速成教程 (2)
你所想到的所有方法,都可以使用AFNetworking来与外界通讯:AFJSONOperation, AFPropertyListOperation 和 AFXMLOperation用来解析结构化数据。UIImageView+AFNetworking用来快捷的填充image view。AFHTTPClient用来进行更底层的请求。用自定义的AFHTTPClient子类来访问
2014-03-15 11:30:51 476
转载 AFNetworking速成教程 (1)
AFNetworking速成教程(1) Scott Sherwood on March 26, 2013Tweet这篇文章还可以在这里找到 英语If you're new here, you may want to subscribe to my RSS feed or follow me on Twitter.
2014-03-15 11:28:41 517
转载 CocoaPods的使用
使用CocoaPods来做iOS程序的包依赖管理DEC 2ND, 2012前言每种语言发展到一个阶段,就会出现相应的依赖管理工具, 或者是中央代码仓库。比如Java: maven,IvyRuby: gemsPython: pip, easy_installNodejs: npm随着iOS开发者的增多,业界也出现了为iOS程序提供依
2014-02-28 16:49:01 489
原创 Mac系统获取root权限
mac 修改root密码和ubuntu是一样的。一上来它是没有root用户的。按照一下步骤一步一步创建自己的root用户及密码:(一)sudo passwd root 然后提示你输入当前登录用户密码。(二)通过以后,提示你输入两遍root的密码。这样你就设置好root密码了,可以用root来登录Mac了。(三)利用su root 切入root用户,输入后提示password,输入你刚刚
2014-02-28 16:17:11 928
转载 ios项目的目录结构
转自无网不剩的博客网上相关的资源不多,开源的且质量还不错的iOS项目也是少之又少,最近正好跟同事合作了一个iOS项目,来说说自己的一些想法。 目录结构AppDelegateModelsMacroGeneralHelpersVendorsSectionsResources 一个合理的目录结构首先应
2014-02-28 15:43:40 603
转载 KVO 的概述与使用
一,概述KVO,即:Key-Value Observing,它提供一种机制,当指定的对象的属性被修改后,则对象就会接受到通知。简单的说就是每次指定的被观察的对象的属性被修改后,KVO就会自动通知相应的观察者了。二,使用方法系统框架已经支持KVO,所以程序员在使用的时候非常简单。1. 注册,指定被观察者的属性,2. 实现回调方法3. 移除观察三
2014-02-28 14:40:28 420
转载 KVC
KVC,即:Key-value coding,它是一种使用字符串标识符,间接访问对象属性的机制,它是很多技术的基础。主要的方法就两个,setValue:forKey,valueForKey在Programming Guide中说,使用KVC可以简化代码,但事实上使用起来,还是要看具体情况。代码实例:1.首先定义两个DataModel,这种DataModel定义是无法访问属性的
2014-02-28 14:38:02 399
转载 ios 动画详解
所有核心动画的动画类都是从 CAAnimation类继承而来 CAAnimation 实现了 CAMediaTiming协议,提供了动画的持续时间,速度,和重复计数 CAAnimation 也实现了 CAAction协议。该协议为图层触发一个动画动作提供了提供 标准化响应 CATransition
2014-02-28 14:18:33 532
转载 block 语法详解2
BlockApple 在C, Objective-C, C++加上Block這個延申用法。目前只有Mac 10.6 和iOS 4有支援。Block是由一堆可執行的程式組成,也可以稱做沒有名字的Function (Anonymous function)。如果是Mac 10.6 或 iOS 4.0 之前的平台可以利用 http://code.google.com/p/plblocks/ 這個p
2014-02-28 11:57:52 435
转载 block语法详细讲解
——译自Apple Reference Library《Blocks Programming Topic》简介块对象是C语言的句法和运行时特性。它类似于标准C函数,但可以将代码、变量绑定到堆(heap)、栈(stack)。一个块还维护了一系列的状态,这些状态或数据影响着执行的结果。可以把块组成函数表达式,用于传递给API,或者使用在多线程里。最有用的是回调,因为块在回调时能
2014-02-28 11:39:02 1088
转载 GCD 多线程详细
GCD介绍(一): 基本概念和Dispatch QueueGCD提供很多超越传统多线程编程的优势:易用: GCD比之thread跟简单易用。由于GCD基于work unit而非像thread那样基于运算,所以GCD可以控制诸如等待任务结束、监视文件描述符、周期执行代码以及工作挂起等任务。基于block的血统导致它能极为简单得在不同代码作用域之间传递上下文。效率: GCD被实现得如此
2014-02-27 16:07:36 497
原创 线程同步
1:原子操作 - OSAtomic系列函数iOS平台下的原子操作函数都以OSAtomic开头,使用时需要包含头文件。不同线程如果通过原子操作函数对同一变量进行操作,可以保证一个线程的操作不会影响到其他线程内对此变量的操作,因为这些操作都是原子式的。因为原子操作只能对内置类型进行操作,所以原子操作能够同步的线程只能位于同一个进程的地址空间内。2:锁 - NSLock系列对象iOS
2014-02-27 14:48:43 393
原创 performSelectorOnMainThread 和detachNewThreadSelector区别.
举例说明怎么简单的创建一个子线程。用到的类是NSThread类,这里使用detachNewTheadSelector:toTagaet:withObject创建一个线程。函数setupThread:(NSArray*)userInfor。通过userInfor将需要的数据传到线程中。函数定义:-(void)setupThread:(NSArray*)userInfo
2014-02-27 14:32:24 474
转载 GDataXML解析
在IOS平台上进行XML文档的解析有很多种方法,在SDK里面有自带的解析方法,但是大多情况下都倾向于用第三方的库,原因是解析效率更高、使用上更方便,关于IOS平台各种解析XML库的优缺点分析,可以看下这篇文章:http://www.raywenderlich.com/553/how-to-chose-the-best-xml-parser-for-your-iphone-project这里
2014-02-27 14:22:45 488
转载 Kissxml 解析
最近再做一个项目需要用到xml的解析。今天查了一些资料自己做了一个小demo。纯OC没有界面。。 在IOS平台上进行XML文档的解析有很多种方法,在SDK里面有自带的解析方法,但是大多情况下都倾向于用第三方的库,原因是解析效率更高、使用上更方便,关于IOS平台各种解析XML库的优缺点分析,可以看下这篇文章:http://www.raywenderlich.com/553/how-t
2014-02-27 14:06:59 522
转载 iOS多线程编程之NSOperation和NSOperationQueue的使用
多线程之NSInvocationOperation多线程编程是防止主线程堵塞,增加运行效率等等的最佳方法。而原始的多线程方法存在很多的毛病,包括线程锁死等。在Cocoa中,Apple提供了NSOperation这个类,提供了一个优秀的多线程编程方法。本次介绍NSOperation的子集,简易方法的NSInvocationOperation:@implementation MyCusto
2014-02-27 09:23:49 375
转载 iOS多线程编程之Grand Central Dispatch(GCD)介绍和使用
介绍:Grand Central Dispatch 简称(GCD)是苹果公司开发的技术,以优化的应用程序支持多核心处理器和其他的对称多处理系统的系统。这建立在任务并行执行的线程池模式的基础上的。它首次发布在Mac OS X 10.6 ,iOS 4及以上也可用。设计:GCD的工作原理是:让程序平行排队的特定任务,根据可用的处理资源,安排他们在任何可用的处理器核心上执行任务。
2014-02-27 09:15:02 440
转载 block 的使用
代码块本质上是和其他变量类似。不同的是,代码块存储的数据是一个函数体。使用代码块是,你可以像调用其他标准函数一样,传入参数数,并得到返回值。脱字符(^)是块的语法标记。按照我们熟悉的参数语法规约所定义的返回值以及块的主体(也就是可以执行的代码)。下图是如何把块变量赋值给一个变量的语法讲解:按照调用函数的方式调用块对象变量就可以了:int result = myB
2014-02-26 17:18:34 388
原创 NSCAssert 的使用
调试cocoa程序在程序出错时,不会马上停止。使用宏NSAssert可以让程序出错时马上抛出异常。在debug情况下,所有NSAssert都会被执行。在release下不希望NSAssert被执行,我们通常在release种将断言设置成禁用。设置方法:在targets种选择build,选择release。在gcc preprocessing下增加Preprocessor Macros
2014-02-26 15:28:50 1033
转载 多线程的几中创建方法与基本使用
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions02{03 self.window = [[[UIWindow alloc
2014-02-21 16:01:51 460
转载 IOS 消息机制(NSNotificationCenter)
IOS 消息机制(NSNotificationCenter)消息机制 NSNotificationCenter 一直都在频繁使用,但是却对其原理不是十分了解。今天就花些时间,把消息机制原理重头到尾好好过一遍。iOS 提供了一种 "同步的" 消息通知机制,观察者只要向消息中心注册, 即可接受其他对象发送来的消息,消息发送者和消息接受者两者可以互相一无所知,完全解耦。这种消
2014-02-21 15:55:37 476
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人