上一页 1 ··· 7 8 9 10 11 12 13 14 15 下一页
摘要: Typedef struct _NSRange{ NSUInteger location; NSUInteger length; }NSRange;上面就是定义了一个结构体,这个结构体常用的场景:就是表示事物的一个范围,通常是字符串里的字符范围或者集合里面的元素范围。1、location 表示范围的其实位置2、length 表示该范围内所含的元素个数eg:"I love objective-c"中的"obj"可以用location为7,length为3的范围来表示。NSRange range=NSMake... 阅读全文
posted @ 2014-03-19 10:51 离子 阅读(268) 评论(0) 推荐(0) 编辑
摘要: int (^sum)(int,int)=^(int a,int b){return a+b;}这个是定义了一个block,前面的int是block返回的类型,sum是blok名字。^是block的标志typedef int (^MySum)(int,int)这是定义了一个2个整型参数的block类型,名字是MySum,我们就可以用这个MySum来定义新的block变量,然后将其实现MySum sum=^(int a,int b){return a+b}调用的时候用sum(a+b)block是可以访问外面的局部变量。但是不可以修改,但是你在外面变量声明的时候用__block关键字进行声明一下,就 阅读全文
posted @ 2014-03-19 09:40 离子 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 类似java里面的接口,但是这个协议是不用像java那样完全实现的Button.h文件#import @protocol Buttondeleget-(void) onClick;@end@interface Button : NSObject@property(nonatomic,retain)id deleaget;-(void)click;@endButton.m文件#import "Button.h"@implementation Button-(void)click{ [_deleaget onClick];}@endButtonListener.h文件#impo 阅读全文
posted @ 2014-03-18 22:47 离子 阅读(539) 评论(0) 推荐(0) 编辑
摘要: category分类,指的是可以将类无尽的拓展起方法,是不能拓展属性的。类名后面有个括号代表这个类是分类eg:#import "Student.h"@interface Student (ForStudent)-(void)test2;@end//这里必须用import不能用@class因为必须要指定原来的类有哪些方法,防止重名。#import "Student+ForStudent.h"@implementation Student (ForStudent)-(void)test2{ NSLog(@"%d",self.age);}@ 阅读全文
posted @ 2014-03-18 21:46 离子 阅读(216) 评论(0) 推荐(0) 编辑
摘要: oc中的内存管理,是靠引用计数器,只要计数器变成0就会回收可以调用returnCount方法来返回计数器数调用这个对象的copy,retain,new,alloc方法都可以将引用计数器+1当调用这个对象的release方法这个方法可以将引用计数器-1当一个对象快要被回收的时候会调用一个析构函数dealloc方法。一般要使用的时候,这个方法都会被复写下当要复写这个dealloc方法的时候,最后还是要调用一下父类的dealloc方法的,感觉和重定义初始化方法要调用父类的init一样-(void)dealloc{ //insert your code; [super dealloc];}野指针就.. 阅读全文
posted @ 2014-03-18 16:30 离子 阅读(649) 评论(0) 推荐(0) 编辑
摘要: 1、定义类:@interface 类名 : 父类@end2、使用:(冒号)表示继承一个类Student : NSObject3、使用()定义一个Catagory(类别)* 作用:在不改变原有类结构的基础上,扩展原有类的方法(不能扩展属性),但不建议重载原有类的方法* 开发工具默认生成的文件为:类名+Catagory名称* Catagory可以写在单独的文件中,也可以写在原有类的文件中,如何写根据需求来决定。4、使用表示实现一个Protocol(协议),如需实现多个协议,将协议名以逗号分隔都写在括号中即可*可以理解为java中的接口,但不同的是,实现类编译器不强制实现Protocol中定义的所有 阅读全文
posted @ 2014-03-18 15:23 离子 阅读(190) 评论(0) 推荐(0) 编辑
摘要: UIView 用weakNSstring 用copy其他对象用strong@property(getter = isRich,setter = setRich:)BOOL rich;//当属性是bool类型的时候我们一般需要指定生产的get和set方法,提高可读性,当然这里的set方法和默认的一致。@property(assign,atomic,readonly) int age;//readonly代表只生产get方法,readwrite代表只生产set方法@property(assign,atomic) int age;//这里的atomic代表这个属性是线程安全的,多个线程访问的时候会加 阅读全文
posted @ 2014-03-15 12:00 离子 阅读(783) 评论(0) 推荐(0) 编辑
摘要: 1.servlet是单例多线程,多个请求进来的时候也是只有一个实例,分一个线程来处理不同的请求。2.struts1也是单例,3.struts2不是单例,每一次请求进来就是一个对象实例。 阅读全文
posted @ 2014-03-13 15:59 离子 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 二.数据字典 Oracle数据字典是有表和视图组成,存储有关数据库结构信息的一些数据库对象。数据库字典描述了实际数据是如何组织的。比如一个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信息等。对它们可以象处理其他数据库表或视图一样进行查询,但不能进行任何修改。它们存放在SYSTEM表空间中,当用户在对数据库中的数据进行操作时遇到困难就可以访问数据字典来查看详细的信息。用户可以用SQL语句访问数据库数据字典。 Oracle数据库字典通常是在创建和安装数据库时被创建的,Oracle数据字典是Oracle数据库系统工作的基础,没有数据字典的支持,Oracle数据库系统就不能进行任何... 阅读全文
posted @ 2014-03-03 15:21 离子 阅读(293) 评论(0) 推荐(0) 编辑
摘要: eg:临时表的应用场景,比如:电子商务的购物车,就必须只在此用户中有效,退出的时候就该清空此临时表。oracle的临时表分为两种情况:会话级临时表事务级临时表1、会话级别临时表的建立如下:create global temporary table temp_table_liyang (id number)on commit preserve rows2、事务级临时表的建立如下:create global temporary table temp_table_liyang1(id varchar2(6))on commit delete rows 阅读全文
posted @ 2014-03-03 15:05 离子 阅读(287) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 14 15 下一页