随笔分类 - oc语法
主要是写关于oc语法的东西,
摘要:转:http://stackoverflow.com/questions/9262535/explanation-of-strong-and-weak-storage-in-ios5觉得讲的很容易理解 The difference is that an object will be dealloca...
阅读全文
摘要:1.读写属性(readwrite/readonly) 默认为readwrite,表示该属性既可以读取,也可以给该属性变量赋值;readonly则表示只能读取该属性变量。 2.原子属性(atomicity/nonatomic) 原子属性中,atomic是默认值,表示属性是原子的,支持多线程并发访问(在setter实现中加入了同步锁),后者是非原子的,适合在非多线程环境中提升效率,没有加入同步锁。 3.Setter属性(assign/retain/copy) 如果属性是对象类型,你需要使用retain,assign,copy参数,表示setter方法内部实现的时候,持有对象的方式。其中retain
阅读全文
摘要:方法重载要保证三个条件1在同一个类中2.方法参数类型相同 名称相同3.方法的参数不同请看下面的例子@interface whgMyObject : NSObject-(void)print;-(void)print:(int)a;-(void)print:(int)a and:(int)b; @end@implementation whgMyObject-(void)print{ NSLog(@"看着月亮一起笑");}-(void)print:(int)a{ NSLog(@"老的不行不行还拥抱");}-(void)print:(int)a and:(in
阅读全文
摘要:结构 在oc中只能声明变量 不能声明函数和类结构声明struct DateT {int month;int day;int year;};结构可以在起最后的分号之后定义结构变量,并且可以格式化structDateT {intmonth;intday;intyear;}today{1,2,3};结构可以不定义名字 ,但是要先声明变量struct {intmonth;intday;intyear;}today{1,2,3};结构可以嵌套structDateT {intmonth;intday;intyear;};struct Time {int hoursint seconds;int min;}
阅读全文
摘要:ios中的分类其实就是把两个类用两个或多个文件写的,,在平时的开发中我们会发现有的时候我们想要一个类多个什么功能 但是已经定义好的类中没有,,我们又不想更改我们的程序 那么现在的这种情况下我就可以用分类下面是我写的一个关于把行同种的nsarray的类 添加了一个print功能 下面是代码#import @interface NSArray (print) //定义分类的格式-(void)print;@end@implementation NSArray (print)-(void)print //自定义的打印输出功能{ for (NSString* m in self) { NSLo...
阅读全文
摘要:ios中的协议:大家猛一看 感觉挺高深的 其实ios中的协议就是c#,java中的接口 只是变了一个形式;自我感觉ios中的协议没有c#中的接口好 人家的接口就是固定你的程序内容的 而ios中的协议和类就有点冲突了下面写一协议 请看下面的程序先生名个propcle的协议 在声明个pro的类继承这个协议 然后通过主函数调用#import @protocol Prorocol @required //它下面定义必须要的函数 就是说pro类中必须实现的函数 如果步实现 编译器就会报错的 -(void)print;@optional //他下面定义可有的 就算pro类中不实现这个函数也不会报错-(..
阅读全文
摘要:多态和动态绑定是为了解决父类调用子类的问题 首先,声明三个类aa bb cc 都继承于fist类#import @interface fist : NSObject{ SEL name;}-(void)print;@end@implementation fist-(void)print{ NSLog(@"我是aa");}@end@interface aa : fist-(void)nihao;@end@implementation aa-(void)nihao{ NSLog(@"buhdddddddddao");}@end@interface bb :
阅读全文
摘要:面向对象一直是一个难以理解的问题 好多程序员对这块都是一个模糊的理解 我以前也是 虽然在网上看到程序里一切都是对象,但是具体呢,还是不知道,最近和一个大神级别的人物探讨了下 感觉很简单没什么难度 呵呵!!! 对象的产生是一种理念的诞生物的,编程无非就是把平常我们所做的事情和动作通过计算机语言描述出来,而这个描述的的过程又需要一定的理念,所以呢就产生了面向对象。下面我就说下什么是对象 我的讲解都在类里描述 这样比较好理解,能让初学者有个更好的思路,,不如说我们编写一个汽车的类 那么汽车有什么呢,1,轮子2.座位 那么我们就要这么写了(我用的是xcode 也就是oc写的,其他语言也一样)#i...
阅读全文
摘要:#import //声明了一个类Init@interface Init : NSObject{ int a; int b; NSString *name;}@propertyint a,b;//设置函数的默认属性设置@end@implementation Init@synthesize a,b;-(id)init//默认的初始化函数{ self=[super init]; //父类的初始化 if (self) { a=19; b=89; name=[[NSStringalloc] initWithFormat:@"就像秋风带走我的思念,我的梦"]; NSLog...
阅读全文
摘要:其实作程序不管是那行,学什么语言最终的目的是和就算机打交道的,我们写的程序计算机是怎么处理的呢??? 计算机运行我们的程序无非就是吧磁盘-内存-cpu三者结合起来 我们写一个程序代码肯定是在此盘中存着呢,但我们编译的时候是把我们写的代码按照一定的规则合并成一个文件(。exe)也就是我们平常见的安装包,当我们运行.exe文件时,这时才是我们的程序执行 ,//注意:大家千万不要把些程序当成程序在代码中的运行,一个程序要分为,编写,编译,执行 ,每个程序都要经过这三个过程 编写:就是我们写的代码 编译:是把我们写的代码按照一定的规则合并成一个文件(。exe) 执行:执行时候 系统献给我...
阅读全文
摘要:self和super的区别#import 首先先写两个类 fist和two,two继承fist类@interface First:NSObject{ int a;//声明了一个变量}-(void) setA:(int)c;//对a赋值的方法@end@implementation First-(void)setA:(int)c{ a=c;}@end//类2@interface Two : First{ int b;}-(void)setB:(int)d;-(void)print;@end@implementation Two-(void)setB:(int)d{ b=d;}-(void)...
阅读全文
摘要:1.在我们平时些程序中我们经常需要一些变量的他们能纪录我们所需要的值,但是平常的int类型达不到这样的目的,所以呢就有了static的基态变量,静态变量就像 B/S中的session,cookio等,2.编写一个简单的程序记载函数被调用了多少次int pagecount(){ static int count=0; count++; return count;}下面我们从main()函数中调用 pagecount(); pagecount(); pagecount(); pagecount();NSLog(@"pagecount函数被调用了%d次",pagecoun...
阅读全文
摘要:1.类的声明 @interface Xiao:NSObject //l类的声明用interface 类名:NSObject ,在oc中所有的类都继承NSObject-(void)Round; //这个只声明函数的名,返回之类型,参数2.类的是实现方法@implementation Xiao //类的调用implementation 类名-(void) Round //函数的实现{ NSLog(@"我爱你,就像老鼠爱小猫咪!!!");}
阅读全文
摘要:最近刚从 . net 转到ios平台 又开始了新的学习,所以开始写博客,这样可以让我每天都能进步一点点对字符串的操作很多情况下和c#中的不一样 1。字符串的声明 //声明字符串 NSString *str4;//创建一个字符串对象 str4=[NSString alloc];//为字符串开辟一定的内存空间 str4=[str4 init];//初始化字符串 当然了这样创建有点麻烦,我们有一种更为简单的写法只是这样写有助于理解字符串的声明过程, 简写:NSString *str1=[[NSStringalloc] initWithFormat:@"我爱你,我就像老鼠 爱大米...
阅读全文

浙公网安备 33010602011771号