自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

转载 retain/copy/assign的含义

举个例子可能更好理解点NSString *pt = [[NSString alloc] initWithString:@"abc"];上面一段代码会执行以下两个动作1 在堆上分配一段内存用来存储@"abc"  比如:内存地址为:0X1111 内容为 "abc"2 在栈上分配一段内存用来存储pt  比如:地址为:0Xaaaa 内容自然为0X1111  下面分别看下assign r

2015-01-30 14:05:08 322

转载 Objective-C中的self和super

发送消息给self和superObjective C提供了两个保留字self和super,用于在方法定义中引用执行该方法的对象。例如,假设你定义了一个方法reposition,用来修改它所处理的某个对象的坐标,这时可以调用setOrigin::方法来完成修改。要实现这个目标,要做的工作就是将setOrigin::消息发送给一个对象,这个对象与reposition消息的接收对象是同一个。在编

2015-01-24 14:30:36 296

转载 OC基础数据类型-集合(NSSet)

1、集合:集合(NSSet)和数组(NSArray)有相似之处,都是存储不同的对象的地址;不过NSArray是有序的集合,NSSet是无序的集合。集合是一种哈希表,运用散列算法,查找集合中的元素比数组速度更快,但是它没有顺序。1 NSSet * set = [[NSSet alloc] initWithObjects:@"one",@"two",@"three",@"four", ni

2015-01-23 15:04:57 555

转载 Objective-C基础教程(第一版)-学习笔记第八章Foundation Kit快速教程

一、一些有用的数据类型NSRange范围typedef struct  _NSRange{         unsigned int location;         unsigned int length;}NSRange;unsigned int是C语言中的int类型location用来存放字段范围的起始位置,length是该范围内所含

2015-01-23 14:40:39 456

转载 NSEnumerator

枚举 (NSEnumerator)遍历数组每个索引处的对象,你可以编写一个0到[array count]的循环,而NSEnumerator用来描述这种集合迭代运算的方式。通过objectEnumerator向数组请求枚举器,如果想从后向前浏览集合,可使用reverseObjectEnumerator方法。在获得枚举器后,可以开始一个while循环,每次循环都向这个枚举器请求它的下一个对象:

2015-01-23 14:34:30 325

转载 基础框架-文件操作-目录操作

下面表格中的措施  适用于NSFileManager这类物件,可以用来进行  目录操作:措施名称描述-(NSString *)currentDirectoryPath获取当前目录的路径-(BOOL)changeCurrentDirectoryPath:path将当前目录的路径更换到path-(BOOL)copyPath:from to

2015-01-23 14:29:59 262

转载 NSString的几种常用方法

要把 “2011-11-29” 改写成 “2011/11/29”一开始想用ios的时间格式,后来用NSString的方法搞定。[string stringByReplacingOccurrencesOfString:@"-"withString:@"/"]; 一句话搞定。 发现NSString还是很值得研究下,于是做做笔记。 看了天梯梦的博客觉得相当不错,于是懒得写了直

2015-01-23 13:52:11 245

转载 Objective-c 数字对象(NSNumber)

在Objective-c中有int的数据类型,那为什么还要使用数字对象NSNumber?这是因为很多类(如NSArray)都要求使用对象,而int不是对象。NSNumber就是数字对象,我们可以使用NSNumber对象来创建和初始化不同类型的数字对象。如:[cpp] view plaincopy#import     NS

2015-01-23 13:50:01 314

转载 objective-c 关键字和概念

@看到这个关键字,我们就应该想到,这是Object-C对C语言的扩展,例如@interface XXX。@interface声明类@implementation实现类@protocol声明协议@optional与@protocol配合使用,说明协议中的某个或者某几个方法可以不实现@required与@protocol配合使

2015-01-23 13:49:23 254

转载 char *s 和 char s[] 的区别小结

最近的项目中有不少c的程序,在与项目新成员的交流中发现,普遍对于char *s1 和 char s2[] 认识有误区(认为无区别),导致有时出现“难以理解”的错误。一时也不能说得很明白,网上也搜了一下相关文章发现一些写的比较好的,综合了一下当教育资料备用。 char *s1 = "hello";char s2[] = "hello"; 【区别所在】cha

2015-01-23 13:47:23 301

转载 指针变量的引用

指针变量同普通变量一样,使用之前不仅要定义说明,而且必须赋予具体的值。未经赋值的指针变量不能使用,否则将造成系统混乱,甚至死机。指针变量的赋值只能赋予地址,决不能赋予任何其它数据,否则将引起错误。在Objective-C 语言中,变量的地址是由编译系统分配的,对用户完全透明,用户不知道变量的具体地址。两个有关的运算符:&:取地址运算符。 *:指针运算符(或称“间接访问” 运算符)。

2015-01-23 13:45:23 585

转载 Objective-C 指针理解

1、一个指针变量就是一个包含其它变量地址的变量2、int x=4; &x得到的是x在内存中的地址3、声明一个指针变量      int  *y             (为什么是int类型的哪?)4、y = &x;      将x的内存地址存储到指针变量y中5、指针变量前加个【*】星号,得到的就是指针所指向内存存储空间内的值,*y的值是4,它就等同于表达式x

2015-01-23 13:42:39 360

转载 argc argv

ARGc和ARGv中的ARG指的是"参数"(外语:ARGuments, argument counter 和 argument vector ) [1] 至少有两个参数至主函数:ARGc和ARGv;首先是一个计算提供的参数到程序,第二个是对字符串数组的指针。[1]1基本作用编辑argc,argv 用命令行编译程序时有用。

2015-01-23 13:40:37 482

转载 浅谈 Objective-C 下对象的初始化

众所周知,Objective-C是一门面向对象的语言,一般情况下,我们在Objective-C中定义一个类时,总要提供一个初始化方法,一般大家都是这样写的:?12345678- (MyClass *)init {    self = [super init

2015-01-23 13:36:51 245

转载 Objective-C对象的申请空间与初始化

Objective-C搞了很久了,结果现在还是对起内存管理与对象初始化一知半解,还好都是些移动开发没出太大问题,不过现在的一个模块化应用上对语言的使用要求更加严格了,还是从官方文档搞起吧,原文是Allocating and Initializing Objects (链接经常变,不保证可用),出自Introduction to The Objective-C Programming Lan

2015-01-23 13:35:45 269

转载 Objective-C对象初始化

1. 两种方式创建对象:[类名 new],[[类名 alloc] init],Cocoa推荐alloc init2. alloc可以分配一块内存,然后清零。BOOL为NO,int为0,float为0.0,指针为nil3. Car *car = [Car alloc]可能运行起来,但没有init,可能会出现bug4. init方法一般都会返回正在初始化的对象,因为初始化方法返

2015-01-23 13:35:01 308

转载 IOS Object-c NSDate总结日期操作

1 // 当前时间创建NSDate        NSDate *myDate = [NSDate date];        NSLog(@"myDate = %@",myDate);2 //从现在开始的24小时        NSTimeInterval secondsPerDay = 24*60*60;        NSDate *tomorrow

2015-01-23 13:33:27 275

转载 @property (nonatomic, assign) 是什么?

assign: 简单赋值,不更改索引计数(Reference Counting)。copy: 建立一个索引计数为1的对象,然后释放旧对象retain:释放旧的对象,将旧对象的值赋予输入对象,再提高输入对象的索引计数为1retain的实际语法为:- (void)setName:(NSString *)newName {if (name != newName) {[name release

2015-01-23 13:32:48 725

转载 定义属性时,什么情况使用copy、assign、retain?

情况太多,不宜一一列举,知道这三个关键字本身的含义才是王道:这些关键字一般影响的是set方法,当用copy时,set方法会先release旧值,再copy一个新的对象,reference count 为1(减少了对上下文的依赖);retain,release旧值,retain新值;a ssign,直接赋值,无retain操作。

2015-01-23 13:29:35 498

转载 解释object c 中经常出现的initWith... 和....With...

init代表的是初始化方法。initWith。。。代表的是带参的初始化方法。例如:UIView *view = [[UIView alloc] init];UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0,0,100,100)];这两个有什么区别呢??明显,下面那个initWithFrame是带一个名为Frame参数的

2015-01-23 13:28:22 774

转载 iOS中assign、copy 、retain等关键字的含义

assign: 简单赋值,不更改索引计数copy: 建立一个索引计数为1的对象,然后释放旧对象retain:释放旧的对象,将旧对象的值赋予输入对象,再提高输入对象的索引计数为1Copy其实是建立了一个相同的对象,而retain不是:比如一个NSString对象,地址为0×1111,内容为@”STR”Copy到另外一个NSString之 后,地址为0×2222,内容相同,新的

2015-01-23 13:27:10 264

转载 Objective-c 代理模式(delegate)

Objective-c 代理模式(delegate)一、什么事代理模式?代理模式是在oc中经常遇到的一种设计模式,那什么叫做代理模式呢? 举个例子:有一个婴儿,他本身不会自己吃饭和洗澡等等一些事情,于是婴儿就请了一个保姆,于是婴儿和保姆之间商定了一个协议,协议中写明了保姆需要做什么事情, 而保姆就是这个代理人, 即:婴儿和保姆之间有个协议,保姆继承该协议,于是保姆就需要实现该协议中的条

2015-01-23 13:26:05 282

转载 presentModalViewController和dismissModalViewControllerAnimated的使用总结

在实际开发中,如果要弹出视图:我们常用到presentModalViewController方法和dismissModalViewControllerAnimated方法。presentModalViewController:弹出视图dismissModalViewControllerAnimated:隐藏视图贴代码:弹出视图:FeedbackViewController

2015-01-23 13:23:47 194

转载 UIImagePickerController拍照与摄像

该类继承自UINavigationController类 步骤:检查媒体来源模式是否可用检查该来源模式下所支持的媒体类型创建图像选取控制器,设置其属性并显示在委托协议方法中处理1.检查媒体来源调用UIImagePickerController类的静态方法isSourceTypeAvailable来检查sourceType是一个UIImagePickerControlle

2015-01-23 13:22:31 340

转载 Objective-C中一种消息处理方法performSelector: withObject:

Objective-C中调用函数的方法是“消息传递”,这个和普通的函数调用的区别是,你可以随时对一个对象传递任何消息,而不需要在编译的时候声明这些方法。所以Objective-C可以在runtime的时候传递人和消息。首先介绍两个方法 SEL和@selector根据AppleObjective-C Runtime Reference官方文档这个传递消息的函数就是 idobjc_

2015-01-23 13:20:51 226

转载 [self performselector: withObject: afterDelay:];一定时间后执行某个方法

{     NSLog(@"111");      SEL rl = @selector(rotateLayers);      [selfperformSelector:rl withObject:nilafterDelay:1.0]; // 这里不延时1秒NSLog(@"222");}

2015-01-23 13:19:17 354

转载 performSelector

在项目中,常常用到performSelectorXXX之类的方法,而且有很多类似方法;今天就来召集一下!1.performSelectorOnMainThread:withObject:waitUntilDone:- (void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL

2015-01-23 13:18:19 256

转载 IBOutlet IBAction

IBOutlet输出口是使用关键字IBOutlet声明的实例变量。控制器头文件中的输出口声明应如下所示:@property (nonatomic, retain) IBOutlet UIButton *myButton;IBOutlet关键字的定义如下所示:#ifndef IBOutlet#define IBOutlet#endif- (IBAction)doS

2015-01-23 13:16:46 230

转载 UIImageView

IOS App 中很多地方都需要使用到图片,如:背景、小图标、Logo、按钮等。这些图片可以使用 UIImage  对象来创建,但是必须为图片指定一个专门的容器组件—UIImageViewUIImage是一个专门存储图片数据的对象,可以代表的图片格式如下表IOS 中,默认兼容的图片格式是 PNG可以通过文件、Quartz image对象或 image Data数据得

2015-01-23 13:16:06 220

空空如也

空空如也

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

TA关注的人

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