自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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 1079

原创 CGFloat和float的区别及案例分析

CGFloat和float的区别及案例分析在32位下,CGFloat定义为float; 在64位下,CGFloat定义为doubletypedef float CGFloat;// 32-bit  typedef double CGFloat;// 64-bit  编程策略:对于需要兼容64位机器的程序而言,所有使用float的地方都改为用CGFloat。长远角度考

2014-10-17 11:28:06 3702

原创 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 2236

原创 performSelector与直接调用的区别

performSelector与直接调用的区别:1 直接调用[delegate imageDownloader:self didFinishWithImage:image];2 使用performSelector调用:[delegate performSelector:@selector(imageDownloader:didFinishWithImage:) wi

2014-10-14 11:24:50 837

原创 NSURLConnection和NSRunLoop

主线程中创建一个NSURLConnection并异步执行

2014-10-14 10:21:48 944

原创 iOS的观察者模式之:KVC&KVO

KVO/KVC-------------------KVCNSKeyValueCoding,提供一种机制来间接访问对象的属性。是KVO的基础。一个对象拥有某些属性。比如说,一个 Person 对象有一个 name 和一个 address 属性。以 KVC 说法,Person 对象分别有一个 value 对应他的 name 和 address 的 key。 

2014-10-13 13:47:04 726

原创 新浪微博开放平台,授权成功后获取用户信息

#pragma mark - WeiboSDKDelegate- (void)didReceiveWeiboResponse:(WBBaseResponse *)response{ NSLog(@"didReceiveWeiboResponse.."); if ([response isKindOfClass:WBSendMessageToWeiboResponse.class]) { } els

2014-10-11 17:08:24 3730

原创 object-c的Category

Category可以给原有的类增加新的方法,而不用重新建一个类,然后在原有的类的基础上使用这个方法。另外注意:1) 不能增加数据成员2)若Category添加的方法与原有的类的方法相同,那么原来的方法被覆盖例子:给NSString类增加一个字符串反向输出的方法头文件:NSString+ReverseString.h#import @inter

2013-05-30 19:34:56 707

原创 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 1051

原创 成员变量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 826

原创 vim+Cscope——linux文本模式下源代码阅读工具

本文简单介绍一下vim+cscope的使用,以便于更方便的阅读源代码:(本文章是自己的简单总结,不能作为教程)使用步骤:(1)vim必须先支持cscope,通过#vim --version grep 'cscope'命令来查看是否支持,如果不支持,需要重装vim(2)为代码生成一个cscope数据库。在项目根目录运行下面的命令:         #cscope -Rbq

2011-10-28 16:57:12 802

原创 linux静态库——实验1

实验目标:是在libc.a静态库中添加自己写的函数,并写测试程序进行调用添加的函数。实验步骤:1. 制作目标文件    (1)编写目标文件的源文件(obj_add.c),代码如下:  1 #include   2   3 void test(v

2011-09-11 03:41:31 772

转载 转载:虚拟机下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 2128 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除