自定义博客皮肤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 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

原创 NSURLConnection和NSRunLoop

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

2014-10-14 10:21:48 957

原创 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关注的人

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