- 博客(13)
- 收藏
- 关注
原创 NSObject的isEqual:方法
NSObject的isEqual方法 比较两个对象的地址是否相同、类型是否相同、类里面的值是否相同,全部相同才返回真 输出结果: 2014-10-17 17:40:01.756 DaWenXun[13877:60b] NSString equal2014-10-17 17:40:01.759 DaWenXun[13877:60b] NSDictionary equal结论:NSS
2014-10-17 18:28:38
1093
原创 CGFloat和float的区别及案例分析
CGFloat和float的区别及案例分析 在32位下,CGFloat定义为float; 在64位下,CGFloat定义为double typedef float CGFloat;// 32-bit typedef double CGFloat;// 64-bit 编程策略: 对于需要兼容64位机器的程序而言,所有使用float的地方都改为用CGFloat。 长远角度考
2014-10-17 11:28:06
3733
原创 delegate 为什么应该是 weak 类型而不是strong类型
delegate 为什么应该是 weak 类型而不是strong类型 循环引用 对象a创建并引用了对象b.对象b创建并引用了对象c.对象c创建并引用了对象b. 这时候b和c的引用计数分别是2和1。当a不再使用b,调用release释放对b的所有权,因为c还引用了b,所以b的引用计数为1,b不会被释放。b不释放,c的引用计数就是1,c也不会被释放。从此,b和c永远留在内存中。 打
2014-10-16 18:59:44
2261
原创 performSelector与直接调用的区别
performSelector与直接调用的区别: 1 直接调用 [delegate imageDownloader:self didFinishWithImage:image]; 2 使用performSelector调用: [delegate performSelector:@selector(imageDownloader:didFinishWithImage:) wi
2014-10-14 11:24:50
856
原创 iOS的观察者模式之:KVC&KVO
KVO/KVC ------------------- KVC NSKeyValueCoding,提供一种机制来间接访问对象的属性。是KVO的基础。 一个对象拥有某些属性。比如说,一个 Person 对象有一个 name 和一个 address 属性。 以 KVC 说法,Person 对象分别有一个 value 对应他的 name 和 address 的 key。
2014-10-13 13:47:04
739
原创 新浪微博开放平台,授权成功后获取用户信息
#pragma mark - WeiboSDKDelegate- (void)didReceiveWeiboResponse:(WBBaseResponse *)response{ NSLog(@"didReceiveWeiboResponse.."); if ([response isKindOfClass:WBSendMessageToWeiboResponse.class]) { } els
2014-10-11 17:08:24
3757
原创 object-c的Category
Category可以给原有的类增加新的方法,而不用重新建一个类,然后在原有的类的基础上使用这个方法。 另外注意: 1) 不能增加数据成员 2)若Category添加的方法与原有的类的方法相同,那么原来的方法被覆盖 例子:给NSString类增加一个字符串反向输出的方法 头文件:NSString+ReverseString.h #import @inter
2013-05-30 19:34:56
718
原创 object-c 2.0的属性访问器和相应的编程策略
object-c 2.0新特性-属性访问器 摘自《Objective-C 2.0的新特性与运行时编程》 属性访问器: 不需要手动书写getter/setter方法,增加了property/synthesize关键字来实现此功能 @prpperty 用@prpperty关键字声明属性,这样在编译后的代码中,自动添加成员变量的getter/setter方法 使用不同
2013-05-28 18:34:28
1091
原创 成员变量retain/assign/copy/strong/assign/unsafe_unretained设置方法
#ifndef MY_RETAIN #if __has_feature(objc_arc) #define MY_RETAIN strong #else #define MY_RETAIN retain #endif #endif #ifndef MY_ASSIGN #if __has_feature(objc_arc_w
2013-05-23 17:38:57
840
原创 vim+Cscope——linux文本模式下源代码阅读工具
本文简单介绍一下vim+cscope的使用,以便于更方便的阅读源代码: (本文章是自己的简单总结,不能作为教程) 使用步骤: (1)vim必须先支持cscope,通过#vim --version grep 'cscope'命令来查看是否支持,如果不支持,需要重装vim (2)为代码生成一个cscope数据库。在项目根目录运行下面的命令: #cscope -Rbq
2011-10-28 16:57:12
818
原创 linux静态库——实验1
实验目标: 是在libc.a静态库中添加自己写的函数,并写测试程序进行调用添加的函数。 实验步骤: 1. 制作目标文件 (1)编写目标文件的源文件(obj_add.c),代码如下: 1 #include 2 3 void test(v
2011-09-11 03:41:31
783
转载 转载:虚拟机下ubuntu系统如何挂载u盘
插入U盘,首先会在windows下识别出U盘,在window下删除,在虚拟机vm下的第二个选项的usb设备下你会发现多了个东西,把它勾上,这时你就会发现虚拟机的右下方就多了个usb的那种图标,这说明linux对u盘又反应了 在虚拟机识别出USB之后,用fdisk -l命令 仔细查看里面有句话会显示U盘被识别为什么了我的是sdb,网上很多说的是sdb1 这个就看你自己的情况了 先在/mnt建一个新的文件夹,例如usb mkdir /mnt/usb 使用mount命令挂载即可: mou
2011-03-20 10:35:00
2158
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人