- 博客(28)
- 收藏
- 关注
原创 OCUNIT框架断言宏
框架说明STAssertEqualObjects当两个对象不相等,或者是其中一个对象为nil时候断言失败;STAssertEquals当参数1不等于参数2时候断言失败,用于C中基本数据测试;STAssertNil当参数不是nil时候断言失败;STAssertNotNil当参数是nil时候
2014-06-11 10:04:01
651
转载 run loop
学习过程中,将Threading PG中的Run Loops翻译了下,权当是做为笔记。原文见 Run Loops。20110526转载请注明,谢谢。http://www.cnblogs.com/scorpiozj/Runloops是线程的基础架构部分。一个runloop就是一个事件处理循环,用来不停的调配工作以及处理输入事件。使用run loop的目的是使你的线程在有工作的时候
2014-05-21 11:08:34
604
转载 获取本机IP地址
//获取本机IP- (NSString *)getIPAdress{ NSString *address = @"error"; struct ifaddrs *interfaces = NULL; struct ifaddrs *temp_addr = NULL; int success = 0; success = getifaddrs(&inter
2014-05-19 17:57:34
623
转载 关于IOS7.1企业版发布后,用户通过sarafi浏览器安装无效的解决方案:
方案一:http://blog.youkuaiyun.com/zhaoxy_thu/article/details/21133399方案二:最简单,实用。使用dropBox如何安装,自己度之。当你使用XCODE发布安装包IPA和PLIST文件后,将IPA仍然保存在你常用保存的网站上,只要可以正常连接下载即可。PLIST文件是供手机版SAFARI解析的文件,里面包
2014-04-03 11:56:45
572
原创 日期格式区别
期名缩写(例如: 日,代表星期日) %A 当前locale 的星期名全称 (如:星期日) %b 当前locale 的月名缩写 (如:一,代表一月) %B 当前locale 的月名全称 (如:一月) %c 当前locale 的日期和时间 (如:2005年3月3日 星期四 23:05:25) %C 世纪;比如 %Y,通常为省略当前年份的后两位
2014-03-28 15:57:40
956
转载 UILocalizedIndexedCollation 的浅分析
UILocalizedIndexedCollation 是相当于是tableView的一个辅助类,用来对tableView的数据源进行管理,排序,定位。 UILoaclizedIndexedCollation 提供了对tableView的section titles 和sectionindex titles的配置。带有section index的tableView,主要是应用于很多个分类的数据
2014-03-26 10:01:44
1796
转载 NSExpression
每当涉及查询或者整理信息时,Cocoa总是其他标准库羡慕的对象。通过使用NSPredicate,NSSortDescriptor,以及偶尔使用NSFetchRequest,即使是最复杂的数据任务也可以被简化成为几行极其容易读懂的代码。 现在,NSHipster们无疑已经熟悉NSPredicate 了,不过如果我们更进一步看看NSPredicate,我们会发现NSPredicate其实是由更
2014-03-10 15:27:58
592
转载 xmpp协议之type状态码表示属性
简单扼要,主要简单介绍到xmpp中的presence 表示XMPP状态的packet。每一个presence都有一个状态。用枚举类型Presence.Type的值表示:available --(默认)用户空闲状态unavailable--用户没空看消息subscribe--请求加别人为好友subscribed--确认别人对自己的好友请求unsubscribe--请求删除好
2014-02-18 17:34:38
1602
原创 ELFhashValue
- (int)ELFhashValue:(NSString *)key { if (!key) return -1; unsigned long h = 0; unsigned long g; unsigned long word; for (int i = 0; i word = [k
2014-01-20 10:22:45
499
原创 由UIColor 生成 UIImage
+ (UIImage *)createImageWithColor:(UIColor *)color{ CGRect rect=CGRectMake(0.0f, 0.0f, 1.0f, 1.0f); UIGraphicsBeginImageContext(rect.size); CGContextRef context = UIGraphicsGetCurrent
2014-01-16 13:59:09
694
原创 HMJSONKit
由于第三方的JSONKit 有内容泄漏,故自己重新写JSON解析,用系统自带的NSJSONSerialization写(适用IOS5以上)更加高效和方便 ,形式参考JSONKit,这样就不用去改动工程的代码。直接上代码//// HMJSONKit.h// CaiYun//// Created by lgqyhm on 14-1-3.////#import @inter
2014-01-13 09:52:04
920
1
转载 id 和 instancetype
instancetype关键字,几个UICollectionViewLayout的类方法,返回类型由id修改为instancetype,这两者有什么区别呢,上网搜了一下,找到篇文章意思大概是,依照cocoa的命名规则,alloc,init这类方法,如果以id为返回类型,会返回类本身的类型,但类方法的返回类型,LLVM(clang)编译器无法判断,也就是说如果用id作为返回类型,有可能会将一
2013-11-20 13:59:03
770
转载 如何为iOS app添加AirDrop文件分享功能
AirDrop概览AirDrop是iOS 7引入的一项新功能,iCloud同步功能允许在用户的两台iOS设备之间分享照片和文档,而AirDrop可以在不同用户的iOS设备之间进行照片和文档的分享。 在iOS 7之前,iOS用户主要依靠第三方app实现iOS设备间的文件和数据分享,在iOS 7中,该项新功能适用于所有iPhone 5、iPad 4、iPad mini以及第五代iPod t
2013-11-06 09:59:02
3808
转载 Method Swizzling
在没有一个类的实现源码的情况下,想改变其中一个方法的实现,除了继承它重写、和借助类别重名方法暴力抢先之外,还有更加灵活的方法吗?在Objective-C编程中,如何实现hook呢?标题有点大,计划分几篇来总结。本文主要介绍针对selector的hook,主角被标题剧透了———— Method Swizzling 。Method Swizzling 原理在Obje
2013-11-05 10:59:26
627
原创 class_addMethod 最后一个参数
class_addMethod 最后一个参数是 type encodings ,用来标识IMP函数实现的返回值与参数,具体的type encodings 可以参考apple官方提供的 type encodings 对应表:CodeMeaningcA chariAn int
2013-11-04 17:48:13
2413
原创 如何用perform selector调用超过两个以上参数的方法
Cocoa内置只支持两个参数,要超过两个参数以上怎么办呢,下面代码展示了如何实现一个自己的方法来调用超过7个参数(来自three20)- (id)performSelector:(SEL)selector withObject:(id)p1 withObject:(id)p2 withObject:(id)p3 withObject:(id)p4 withObject:(id)p
2013-11-04 16:49:49
825
原创 消息转发
消息转发是解决object-c不能用多继承的一种方法,也是动态方法的一种。先说下他的原理:后面再上代码解释。消息转发其实就是当实例(类)不能处理一个消息时,在抛出异常前,系统给你一个方法你处理这个情况。 Foo * foo = [[Foo alloc] init]; [foo Bar]; [foo MissMe
2013-11-04 16:25:06
578
原创 Mach 常见异常类型
EXC_BAD_ACCESS :内存访问无效EXC_BAD_INSTRUCTION:线程试图访问非法/无效的指令或将无效的参数(操作数)传递给指令EXC_ARITMETHIC:除以0或整数溢出/下溢引发的异常EXC_SYSCALL 和 EXC_MACH_SYSCALL:应用程序访问内核服务(如文件I/O)或网络访问时发出其他Mach异常定义在mach/exception_types
2013-10-29 17:35:59
1083
转载 Text Kit学习(入门和进阶)
更详细的内容可以参考官方文档 《Text Programming Guide for iOS》。 “Text Kit指的是UIKit框架中用于提供高质量排版服务的一些类和协议,它让程序能够存储,排版和显示文本信息,并支持排版所需要的所有特性,包括字距调整、连写、换行和对齐等。” 以前,如果我们想实现复杂的文本排版,例如在textView中显示不同样式的文本,或者图片和文字混排,你可
2013-10-29 16:06:33
825
2
原创 NSMutableAttributedString IOS中的富文本
为了让文字显示更有效果,例如在一段文字里我想有不同的颜色,大小,下划线等等效果,就要用到富文本,富文本在IOS6时才加入更多的功能。NSMutableAttributedString *attrString = [[NSMutableAttributedStringalloc] initWithString:title];[attrString beginEditing]; NSM
2013-10-29 15:51:37
805
转载 虚拟内存
计算机系统中的RAM资源有限,由系统上所有运行的进程竞争共享。当系统运行多个应用程序时,所有进程分配的内存总量会超过系统上RAM的数量,这很正常。操作系统也支持虚拟内存,这样进程就可以分配和使用比系统上的安装的RAM数量还要多的内存。也就是说,进程的地址空间不受物理RAM数量的限制。有了虚拟内存,操作系统便可以使用次级存储器(如硬盘)上的后备存储空间,保存无法放到RAM中的进程的地址的空间。然
2013-10-27 19:44:45
531
原创 NSDate中的格式
日期格式如下:y 年 Year 1996; 96 M 年中的月份 Month July; Jul; 07 w 年中的周数 Number 27 W 月份中的周数 Number 2 D 年中的天数 Number 189 d 月份中的天数 Number 10 F 月份中的星期 Number 2 E 星期中的天数
2013-10-23 15:46:36
509
转载 runtime 中OC理解
最近打算写一些ObjC中比较底层的东西,尤其是 runtime 相关的。苹果已经将 ObjC runtime 代码开源了,我们可以从:http://opensource.apple.com/source/objc4/objc4-493.9/runtime/ 浏览源代码,或点此下载源代码。从哪里入手呢?那当然是最基本的类与对象。与C++相比,ObjC中的类与对象结构要简洁与一致得多(参考《深
2013-10-22 18:05:30
2084
原创 用OC的动态性去处理dealloc
//运用OC的动态属性,释放属性的内存- (void)dealloc{ Class clazz = [self class]; u_int count; objc_property_t *properties = class_copyPropertyList(clazz, &count); for (int i =0; i
2013-10-22 11:38:54
613
转载 When does layoutSubviews get called?
It’s important to optimize any UIView layoutSubviews method you create, as it can be frequently called, and has the potential for creating recursion (triggering a setNeedsLayout from layoutSubviews ca
2013-10-16 11:17:47
474
原创 CocoaPods 的安装与使用
CocoaPods 简介CocoaPods 是第三方库相互管理的一个工具,对于现在工程里越来越多的第三方库,管理起来不方便,而且有些第三方库加入的时候还要设置环境变量,这些机械化的操作感觉有点浪费时间。CocoaPods就由此而生。CocoaPods的安装1.打开MAC的终端,输入命令:sudo gem update --system更新ruby版本。2.更新成功后再
2013-10-11 17:29:23
513
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人