
ios
less@more
.....
展开
-
开源界的大变化: LLVM Clang libc++ LLDB
近日, LLVM 项目和开发者 Chris Lattner 获得 ACM 颁发的 SIGPLAN 软件系统奖,将这个由 Apple 主导的 BSD 系开源项目推到了开源界的焦点。本文由 comicfans44 撰写,介绍下 LLVM 项目中的两个新组件: libcxx 和 lldb 。首先声明,本文在除去技术上的相关介绍较为准确外,其他内容多为臆测,仅供参考。近期来,apple在llv转载 2013-06-29 16:39:09 · 2660 阅读 · 0 评论 -
ReactiveCocoa与Functional Reactive Programming
什么是Functional Reactive ProgrammingFunctional Reactive Programming(以下简称FRP)是一种响应变化的编程范式。先来看一小段代码a = 2b = 2c = a + b // c is 4b = 3// now what is the value of c?如果使用FRP,c的值将会随着b的值改变而转载 2014-02-10 15:06:59 · 1134 阅读 · 0 评论 -
说说ReactiveCocoa 2
ReactiveCocoa是Github开源的一款cocoa FRP 框架,我在之前的文章里有过介绍(当时还是1.x版本,2.x版本有了新的变化,API也有部分不兼容) 这里再简单地提一下。Native app有很大一部分的时间是在等待事件发生,然后响应事件,比如等待网络请求完成,等待用户的操作,等待某些状态值的改变等等,等这些事件发生后,再做进一步处理。 但是这些等待和响应,并没有一转载 2014-02-10 15:24:12 · 8083 阅读 · 0 评论 -
Objective-C的动态特性
这是一篇译文,原文在此,上一篇文章就是受这篇文章启发,这次干脆都翻译过来。过去的几年中涌现了大量的Objective-C开发者。有些是从动态语言转过来的,比如Ruby或Python,有些是从强类型语言转过来的,如Java或C#,当然也有直接以Objective-C作为入门语言的。也就是说有很大一部分开发者都没有使用Objective-C太长时间。当你接触一门新语言时,更多地会关注基础知识,转载 2014-02-10 15:23:22 · 818 阅读 · 0 评论 -
KVO的内部实现
09年的一篇文章,比较深入地阐述了KVO的内部实现。KVO是实现Cocoa Bindings的基础,它提供了一种方法,当某个属性改变时,相应的objects会被通知到。在其他语言中,这种观察者模式通常需要单独实现,而在Objective-C中,通常无须增加额外代码即可使用。概览这是怎么实现的呢?其实这都是通过Objective-C强大的运行时(runtime)实现的。当你第转载 2014-02-10 15:26:04 · 993 阅读 · 0 评论 -
ReactiveCocoa的宏
ReactiveCocoa中有好些宏来着,其中用的最多的就式RAC(target,keypath,nilValue)le原创 2014-04-14 15:01:20 · 2058 阅读 · 0 评论 -
iOS Framework 和CocoaPods
创建ios的framework的方法很多网上找找一大把,主要一个是ios 的univer原创 2014-04-15 16:04:34 · 6913 阅读 · 0 评论 -
有图像数据了,应该用CGBitmapContextCreate 还是CGImageCreate呢
https://www.evernote.com/shard/s234/sh/7799f2a3-fde0-4b63-8c44-d1c90f945227/123f60439e171aa1fa324932ad70e3a8原创 2014-06-25 11:12:38 · 2939 阅读 · 0 评论 -
ios Bind绑定
不管是用mvc还是mvvm的架构,我们都需要一点就是model的改变能够及时同步到相关部件中。就类似月观察者模型,在ios中可以通过kvo来完成这样的事情,但是每次都是用这个样的方式,就回让代码混乱。在这里可以采用THBinder在github来完成这个任务。同时我对这个代码进行了一点处理,这样就使用一个简单的宏来完成,不要保存THBinder实例了。#import "THBinder原创 2014-06-16 14:06:55 · 3241 阅读 · 0 评论 -
Xcode6在10.9.4上面crash解决
xcode6在10.9.4crash解决过程记录原创 2014-07-09 10:18:54 · 2908 阅读 · 0 评论 -
移动开发必备
crash report1. Crashlytics原创 2014-04-11 10:39:26 · 1212 阅读 · 0 评论 -
RACCommand 有sendError对executionSignals 怎么破
RACCommand 一般我们都是放在ViewModel中,就像是一个Action,由用户或者View/ViewController的。而且很多时候,我们不仅仅需要让这个action执行起来,而且还需要知道执行的结果。这里简单写个demo。@interface ViewModel(RACCommand*)testCommand; @end @implement ViewModel(原创 2014-12-05 22:03:44 · 4946 阅读 · 0 评论 -
让RAC支持进度消息
我们在使用RAC的时候,有时候处理一个主消息之外可能还需要其他的辅助消息。比如说,我们在上次图片或者下载的时候。往往除了需要知道结果,还需要过程的进度。简单的做法就是外部自己创建一个subject,然后给具体做事情的模块来手动设置subject的next值了。这是一个经常用的东西,所以我这边参考了AFNetworking+RACExtension中得代码。自己重建了支持进度的signal和subs原创 2015-01-12 11:35:30 · 2705 阅读 · 1 评论 -
Why Functional Programming Matters 函数式程序设计为什么至关重要
作者: John Hughes 原文地址:http://www.md.chalmers.se/~rjmh/Papers/whyfp.html此论文作于1984年,作为查麦兹大学的备忘录流传了多年,经过小幅度修订的版本出现于1989年与1990年,即[Hug89]与[Hug90]。此版本基于原查麦兹大学备忘录的nroff源码,为LaTeX做了改动,使其更接近于印刷版本并纠正了少许错误。转载 2014-12-15 10:50:14 · 3201 阅读 · 1 评论 -
iOS常见Crash解决方法
常见crash数组越界插入nil对象无法识别的selector其他异常数组越界这里主要由NSArray或者NSMutableArray访问了不在范围内的对象造成的。对于Inmutable数组基本就涉及到一个objectAtIndex:。 NSArray *array = @[@"test"]; id object = array[1];//抛出异常 1.原创 2015-02-06 16:59:53 · 2131 阅读 · 1 评论 -
AVAssetExportSession的问题
最近在搞视频的拼接碰到奇葩的问题:使用exportAsynchronouslyWithCompletionHandler怎么都不调用block,搞了2天的时间终于tmd的解决了,但是还是不知道什么原因,啃爹啊! 先说说怎么出这个问题的吧。自己录制了一些视频文件,这个文件的产生是通过AVAssetWriter输出的,并没有使用AVCaptureFileOutputRecordingD原创 2014-02-21 17:01:28 · 14393 阅读 · 1 评论 -
instancetype vs id for Objective-C
新的LLVM编译器为我们带来了ARC, Object Literal and Scripting, Auto Synthesis等特性,同时也引入了instancetype关键字。instancetype用来表示Related Result Types(相关返回类型),那么它与id有什么不同呢?根据Cocoa的命名惯例,init, alloc这类的方法,如果以id作为返回类型,会返回类本身转载 2014-02-07 15:18:39 · 1330 阅读 · 0 评论 -
自动备份dSYM文件脚本
最原始的sh文件地址再这里http://www.cimgf.com/2009/12/23/automatically-save-the-dsym-files/但是这个sh脚本,不能对debug和模拟器已经没有目录的情况下操作。并且目录的位置也存在一些小问题。所以再这个基础上面,我修改了一下,这样可以保证再任何情况下,都可以正确的备份文件了。echo "starting dsym原创 2013-07-16 16:39:48 · 1780 阅读 · 1 评论 -
ios添加pre和post build action
xcode 添加pre和post build事件原创 2013-07-16 16:20:48 · 1990 阅读 · 0 评论 -
ios 抽奖大转盘的实现
ios 抽奖大转盘 完工原创 2013-07-12 22:05:53 · 6548 阅读 · 2 评论 -
Core Animation 基础 笔记
最近在学习CA部分东西,闲在就翻译了一下apple的这个CA的指南的基础部分,有机会再翻译其他的部分。限于水平,翻译不到位或者不足之处请指出。原文地址基于层的绘图模型 多数层并不做任何实际的绘图操作。相反,一个层会抓取你应用所提供的内容并把它缓存再位图中,有时候我们把这个位图称之为后备存储(backing stroe). 当后面你修改这个层的一个属性时,你所做的修改其实是修改了翻译 2013-07-29 11:59:22 · 2364 阅读 · 0 评论 -
nib 加载过程分析以及对File’s Owner的理解
nib loading的过程,这个是app文档里面有说到资源编程指南1. It loads the contents of the nib file and any referenced resource files into memory。将nib文件和其中引用到的资源文件加载到内存中。2.It unarchives the nib object graph data and ins原创 2013-08-09 11:24:03 · 9414 阅读 · 1 评论 -
ios app唤起页面跳转
ios app唤起页面跳转原创 2013-09-18 18:08:14 · 6852 阅读 · 1 评论 -
使用kvc机制简化对json的解析
使用kvc和objectc runtime来复用和简化对json的解析原创 2013-11-05 17:54:33 · 3205 阅读 · 0 评论 -
ios中解析json对象基类
这个是对上面一篇写的一个解析json对象的基类@interface BaseObjectFromJson : NSObject+ (id) objectWithDict:(NSDictionary*)dict withClassName:(NSString*)className;+ (NSArray*) objectsWithArray:(NSArray*)array withCla原创 2013-11-06 09:27:39 · 2852 阅读 · 3 评论 -
获取图片中指定区域图片
获取指定区域的图片原创 2013-11-08 15:42:29 · 13314 阅读 · 5 评论 -
ios xcode5编译ffmpeg
今天编译用xcode5编译kxmovie的代码,其中刚开始就要编译ffmepg。里面有个rakefile脚本文件,怎么都编译不了。首先就是gcc 不能生成可执行文件,网上找了找原因是我机器用的是xcode5,xcode5默认使用的是clang,所以就将gcc的目录进行了修改,还是不行,最后发现需要再extra-cflags 和extra-ldflags中加入-miphoneos-version-m原创 2014-01-10 17:33:11 · 5645 阅读 · 3 评论 -
分段录制的实现
分段录制也就是可以暂停之后恢复录制,并且录制结束之后是在同一个文件中。不管video还是audio都是有时间戳的frame,真是因为有时间戳播放器才能有序的进行播放了。因此在分段录制中,只要在暂停的时候记录一下当前的一个时间戳,然后在恢复之后计算一下这之间的时间差,然后在将这个frame写入之前修改一下这个frame的时间戳就行了。原理还是蛮简单的,因此实现也简单的多了。code说明一切,需要的咨原创 2014-01-23 13:08:10 · 11526 阅读 · 6 评论 -
CGImage 直接到 CVPixelBuffer
从image到CVPixelBuffer需要注意性能,如果使用context的话和使用memcpy都有一样的性能支出,但是使用CVPixelBufferCreateWithBytes这个可以在时间上提高好几个数量级别,这是因为这里没有渲染也没有内存拷贝能耗时的操作而只是将data的指针进行了修改哦。- (CVPixelBufferRef)pixelBufferFaster{原创 2014-01-23 15:11:12 · 16902 阅读 · 2 评论 -
AVCaptureVideoDataOutputSampleBufferDelegate 注意点
AVCaptureVideoDataOutputSampleBufferDelegate 中需要注意对sampleBuffer的使用。如果想将sampleBuffer保留住以便后面使用的话,这里会出现一些问题。如果sampleBuffer时间太长,那么着的delegate就可能会被停止调用的哦。一般你会发现怎么就只有13帧啊。这个在文档中有明确的说明。但是普通的copy根本不起作用。createC原创 2014-01-23 15:09:06 · 11562 阅读 · 5 评论 -
XIB做视图组件
让你的Interface Builder也能够自定义可视化视图。现在的人越来越懒,但是正式这一群越来越来的同学,造就了越来越好用的东西。前戏不要了,直奔主题吧。 必备条件环境XCode6我们在用xib或者storyboard的时候,我们会发现总有一些view希望能够复用的。必须xib或者storyboard中可以嵌套使用就好了。不过现在apple还没有看到这方面的东西。那还有一种就是xib中得in原创 2015-07-13 14:34:03 · 1341 阅读 · 2 评论