自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 OC语法--__unsafe_unretain、__strong、__weak、__autoreleasing的作用

nomantic、copy、retain等属性见前面的文章今天看__unsafe_unretain、__strong、__weak、__autoreleasing这四种属性__unsafe_unretain、__strong、__weak、__autoreleasing是出现在 LLVM 编译器 3.0版本之后。而__unsafe_unretain、__strong、__autorel

2015-04-25 15:34:14 855

原创 IOS开发--循环引用问题,普通控件为什么用weak,代理为什么用weak,block内用到外面的东西要用__weak

循环引用问题,普通控件为什么用weak,代理为什么用weak,block内用到外面的东西也要用weak,当控制器想要销毁时,控制器被一个强指针指着,而scrollView添加到控制器view中也被强指针指着,也无法销毁,那么它的delegate不会销毁。delegate指向控制器。造成了循环引用。把delegate变成weak:当控制器生命周期结束时,view随之销毁,内部子空间也随之销毁,delegate也就销毁了。,是block强指针指向了self。造成了循环引用谁都没办法被销毁。

2015-04-25 13:59:20 1254

原创 IOS开发--IOS程序运行过程详情

IOS运行过程详情1.每一个应用程序都有属于自己的UIWindow,UIWindow继承自UIView2.UIView面临的问题1》谁来控制UIView之间的切换?2》谁来管理UIView的生命周期?3》谁来给UIView装配数据?4》谁来监听UIView的事件?上面3个问题的答案是:控制器(UIViewController)IOS程序的运行过程:

2015-04-24 18:54:37 498

原创 OC语法--问NSString属性声明中的copy和retain具体区别

问NSString属性声明中的copy和retain具体区别copy是将源对象release然后新对象copy在付给源对象retain是将源对象release然后新对象retain再付给源对象根本区别就是对象进行深拷贝时copy要开辟新的存储空间,浅拷贝时效果相同。引用计数方面retain是源对象引用计数加1,copy当是浅复制时源对象引用计数加1,深复制时

2015-04-24 13:07:43 737

原创 Foundation框架--数组中内容的排序种类 实例

Person类中@property(nonatomic,strong)NSString * name ;@property(nonatomic ,strong)NSString *year;@property(nonatomic,assign)int age;-(id)initWithName:(NSString *)name andYear:(NSStri

2015-04-24 12:58:05 632

原创 iOS开发--一些奇巧淫技

iOS的一些小技巧TableView不显示没内容的Cell怎么办?类似这种,我不想让下面那些空的显示.很简单. self.tableView.tableFooterView = [[UIView alloc] init];试过的都说好. 加完这句之后就变成了这样.自定义了leftBarbuttonItem左滑返回手势失效了

2015-04-24 10:03:47 1309

原创 foundation框架--NSArray类、数组常用操作

数组 是一组有序的对象集合,不能存放基本数据类型,只能存放类的实例(对象)NSArray *array1=[NSArray arrayWithObject:@“One”];NSArray *array2=[NSArray arrayWithObjects:@“One”,@“Two”,nil];NSArray *array3=[NSArray arrayWithArray:array

2015-04-23 14:35:14 668

原创 Foundation框架--NSString类字符串常用操作

比较内容BOOL isEqual=【string1 isEqualToString:String2];比较指针地址(string1==string2)比较字符串大小 升降序NSComparisonResult result =[string10 caseInsensitiveCompare:string11];求字符串长度NSlog(@“%d”,[str

2015-04-23 14:17:09 605

原创 OC语法--谓词NSPredicate类

Cocoa中提供了NSPredicate类,指定过滤器的条件。将符合条件的对象保留下来。下列列举常用的NSPredicate类的常用方法:Person类含有name和age属性初始化一个对象数组 NSMutableArray *array=[NSMutableArrayarray];       for (int i=0; i10; i++) {     

2015-04-23 14:04:42 846

原创 IOS开发--一个控件添加后看不见 有哪些可能。

一个控件用肉眼看不见,有哪些可能 1.根本没有创建实例化这个控件 2.没有设置尺寸 3.控件的颜色跟父控件的背景色一样(实际上已经显示了,只不过用肉眼看不见) 4.透明度alpha  5.hidden = YES 6.没有添加到父控件中 7.被其他控件挡住了 8.位置不对 9.父控件发生了以上情况 10.特殊情况 * UIIm

2015-04-23 13:56:34 602

原创 IOS开发--经常会用到的方法和常识

改变状态栏颜色;-(UIStatusBarStyle)preferredStatusBarStyle{    return UIStatusBarStyleLightContent;}是否显示状态栏- (BOOL)prefersStatusBarHidden{    return YES;}// 让数组中的所有对象都执行removeFro

2015-04-23 13:37:24 628

原创 OC语法--nil、 Nil、 NULL 、NSNul用法及OC异常处理

nil Nil NULL NSNulnil:指向oc中对象的空指针Nil:指向oc中类的空指针NULL:指向其他类型的空指针,如一个c类型的内存指针NSNul:在集合对象中,表示空值的对象若obj为nil:[obj message]将返回NO,而不是NSException若obj为NSNull:[obj messa

2015-04-22 14:26:20 1177

原创 OC语法--多态的动态识别及@selector()预编译指令指定选择器

重写:子类方法覆盖父类方法,要求方法名和参数都相同。重载:同一个类中的两个或两个以上的方法名相同,但是参数不同,方法体也不同。多态动态识别对象是不是aClass或其子类的成员?if([audi isKIndOfClass:[Car class]]){NSlog(@“audi is a kind of Car");}对象是不是aClass成员?if([ca

2015-04-22 14:21:34 641

原创 OC语法--KVC概念及用法

KVCKeyValueCoding1.键-值编码是一个用于间接访问对象属性的机制,使用该机制不需要调用存取方法和变量实例就可访问对象属性。(直接修改内存中的变量)2.键-值编码方法在Objective-C非正式协议(类目)NSKeyValueCoding中被声明,默认的实现方法由NSObject提供。3.键-值编码支持带有对象值的属性,同时也支持纯数值类型和结构。非对象参数和返回类

2015-04-21 12:30:44 500

转载 OC语法--strong和weak指针

提示:本文中所说的"实例变量"即是"成员变量","局部变量"即是"本地变量"一、简介ARC是自iOS 5之后增加的新特性,完全消除了手动管理内存的烦琐,编译器会自动在适当的地方插入适当的retain、release、autorelease语句。你不再需要担心内存管理,因为编译器为你处理了一切注意:ARC 是编译器特性,而不是 iOS 运行时特性(除了weak指针

2015-04-21 09:30:45 1291

原创 OC语法--单例设计模式,及两种创建方法

例设计模式单例设计模式运用较为普通、广泛且较为简单的设计模式之一,它的设计原理是始终返回一个实例,即一个类始终只有一个实例1.用来保存一种全局属性,全局访问2.重量级对象,要实现太多功能,防止它重复创建,节约性能NSFileManager  UserDefult都是单例模式。创建单例设计模式的基本步骤 。声明一个单件对象的静态实例,并初始化为nil。 。

2015-04-20 15:34:35 465

原创 OC语法--协议protocol,代理设计模式概念

协议协议的声明看起来比较类似一个类的接口,不同的是协议没有父类也不能定义实例变量。协议是一种特殊的程序设计结构,用于声明专门被别的类实现的方法。协议在以下场合非常有用;需要由别的类实现的方法声明未知类的接口两个类之间的通信协议的基本特点:协议可以被任何类实现的方法协议本身不是类,他是定义了一个其他类可实现的接口类目也可以采用协议协议的声明@protocol

2015-04-20 15:15:17 470

原创 OC语法--类目Category--类的延展

Xcode6增加category的方法:New File 找到Objective-C File 点next然后选择Category 和要创建类的类目;类目(1)在类目定义的方法,会成为原始类的一部分,与其他方法的调用没有区别;(2)通过给父类定义类目方法,其子类也会继承这些方法。如果子类添加类目方法,父类则不会拥有子类的类目方法;类目方法的应用 (3)对

2015-04-20 14:48:45 409

原创 OC语法--block

block 的使用:block封装了一段代码,可以在任何时候执行;如果用typedef定义:block可以作为函数参数或者函数的返回值,而其本身又可以带输入参数或者返回值。它和传统的函数指针很类似,但是有区别:block是inline(内联函数)的,并且默认情况下他对局部变量是只读的。苹果官方建议尽量多用block。在多线程,一部任务,集合遍历,集合排序,动画转场的很多。

2015-04-20 14:12:21 374

原创 OC语法--内存管理及对象拷贝

引用计数readwrite:是可读可写特性,需要生成getter和setter方法;readonly是之都特性,只会生成getter方法,不会生成setter方法,不希望属性在类外改变时候使用;alloc 对象分配后引用计数为1retain 对象的引用计数+1copy 一个对象变成新的对象(新内存地址) 引用计数为1 原来对象计数不变内存管理,对象拷贝,深拷贝,浅拷贝copy,mutableCopy和retain 之间的关系

2015-04-19 10:59:09 426

原创 OC--语法实例变量作用范围

oc中只有单继承(1)@public (公开的)在有对象的前提下,任何地方都可以直接访问。(2)@protected (受保护的)只能在当前类和子类的对象方法中访问(默认是)(3)@private (私有的)只能在当前类的对象方法中才能直接访问(4)@package (框架级别的)作用域介于私有和公开之间,只要处于同一个框架中就可以直接通过变量名点语法如果类中存在 pu

2015-04-19 10:51:59 443

原创 OC语法--点语法

OC不同于java是不存在点语法的,但是编译器做修改可以实现点语法(自动传化)比如person.age=10; java里是直接访问成员变量给成员变量赋值但是OC中他却等效于 [person setAge:10]; 相当于调用set方法int age=person.age;等效于int age =[person age]; 相当于get方法-(void)setA:(A*)a

2015-04-19 10:37:24 311

原创 OC--语法变量声明synthesize和property

@synthesize a=_a;隐式的实现了_a这个成员变量的set和get方法。即@synthesize a=_a;所实现的方法与@property (nonatomic, retain) int _a所隐式定义和实现的方法没有任何关联。他们的get和set方法所操作的成员变量分别是_a和__a。当编译器遇到@property时,会自动展开getter和setter的声明

2015-04-19 10:34:50 366

空空如也

空空如也

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

TA关注的人

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