Objective-C2
来源:互联网 发布:华为网络配置实例 编辑:程序博客网 时间:2024/04/28 19:49
self:在-方法里面self是一个当前的本对象,在+方法里面self表示本类。
为什么要设计点语法(在OC之前没有点语法)
为了方便别的程序员转到OC开发上来
为了让程序员设计简单话
隐藏了内存管理细节
隐藏了多线程、同步、加锁细节
使用经典调用和点语法
Dog *dog = [[Dog alloc] init];
[dog setAge:100];
int dogAge = [dog age];
NSLog(@"Dog Age is %d",dogAge);
dog.age = 200;//这不是调用一个变量,而是调用一个函数。
dogAge = dog.age;
NSLog(@"Dog new Age is %d",dogAge);
编译器会把 dog.age = 200;展开成[dog setAge:200];
会把 dogAge = dog.age;展开成 dogAge = [dog age];
字典
NSDictionary *dict = [[NSDictionary alloc] initwithObjectsAndKeys:@"One",@"1",@"Two",@"2",@"Three",@"3",nil];
//字典中的元素是以键值对的形式存储的
//@"One" 和 @"1"组成了一个键值对
//@"One"称为值(value) @"1"称为健(key)
//键值对的值和健,都是任意的对象,但是健往往使用字符串
//字典存储对象的地址没有顺序。数组同样可以存储对象,并且有顺序
我们打印一般是 1 = One 2 = Two 3 = Three
数组和字典的区别:数组可以通过顺序找到值,而字典可以通过健可以迅速的找到值。
//NSString *string = [dict objectForKey:@"1"];
找到了健就找到了值。
可变字典
NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
//添加键值对
[dic setObject:@"One" forKey:@"1"];
NSLog(@"%@",dict);
//删除键值对
[dic removeObjectForKey:@"1"];
NSLog(@"%@",dic);
[dic release];
NSString
//使用格式符拼接成一个字符串
NSString * str3 = [[NSString alloc] initWithFormat:@"Hello %d %c",5,'A'];
NSComparisonResult(这是一个枚举) 用于比较字符串的大小
NSString *str1 = @"123";
NSString *str2 = @"456";
NSComparisonResult ret =[str1 comparison str2];
if(ret == NSOrderdAscending){
NSLog(@"str1 < str2");
}
if(ret == NSOrderdSame){
NSLog(@"str1 == str2");
}
if(ret == NSOrderdDescending){
NSLog(@"str1 > str2");
}
//当然用BOOL也是可以比较的
BOOL ret = [str isEqualToString:str2];
NSLog(@"%d",ret);
为什么要设计点语法(在OC之前没有点语法)
为了方便别的程序员转到OC开发上来
为了让程序员设计简单话
隐藏了内存管理细节
隐藏了多线程、同步、加锁细节
使用经典调用和点语法
Dog *dog = [[Dog alloc] init];
[dog setAge:100];
int dogAge = [dog age];
NSLog(@"Dog Age is %d",dogAge);
dog.age = 200;//这不是调用一个变量,而是调用一个函数。
dogAge = dog.age;
NSLog(@"Dog new Age is %d",dogAge);
编译器会把 dog.age = 200;展开成[dog setAge:200];
会把 dogAge = dog.age;展开成 dogAge = [dog age];
字典
NSDictionary *dict = [[NSDictionary alloc] initwithObjectsAndKeys:@"One",@"1",@"Two",@"2",@"Three",@"3",nil];
//字典中的元素是以键值对的形式存储的
//@"One" 和 @"1"组成了一个键值对
//@"One"称为值(value) @"1"称为健(key)
//键值对的值和健,都是任意的对象,但是健往往使用字符串
//字典存储对象的地址没有顺序。数组同样可以存储对象,并且有顺序
我们打印一般是 1 = One 2 = Two 3 = Three
数组和字典的区别:数组可以通过顺序找到值,而字典可以通过健可以迅速的找到值。
//NSString *string = [dict objectForKey:@"1"];
找到了健就找到了值。
可变字典
NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
//添加键值对
[dic setObject:@"One" forKey:@"1"];
NSLog(@"%@",dict);
//删除键值对
[dic removeObjectForKey:@"1"];
NSLog(@"%@",dic);
[dic release];
NSString
//使用格式符拼接成一个字符串
NSString * str3 = [[NSString alloc] initWithFormat:@"Hello %d %c",5,'A'];
NSComparisonResult(这是一个枚举) 用于比较字符串的大小
NSString *str1 = @"123";
NSString *str2 = @"456";
NSComparisonResult ret =[str1 comparison str2];
if(ret == NSOrderdAscending){
NSLog(@"str1 < str2");
}
if(ret == NSOrderdSame){
NSLog(@"str1 == str2");
}
if(ret == NSOrderdDescending){
NSLog(@"str1 > str2");
}
//当然用BOOL也是可以比较的
BOOL ret = [str isEqualToString:str2];
NSLog(@"%d",ret);
0 0
- Objective-C2
- Objective C2.0学习(一)
- Objective C2.0学习(七 类)
- Objective C2.0学习(八 继承)
- Objective C2.0学习(十 多态)
- Objective C2.0学习(一)
- Objective C2.0学习(七 类)
- Objective C2.0学习(八 继承)
- Objective C2.0学习(十 多态)
- 【iOS】objective-c2.0之基本数据类型
- c2
- C2
- c2
- C2
- c2
- C2
- Objective C2.0学习(二 类,对象和方法)
- Objective C2.0学习(三 类,对象和方法)
- 第6周作业2-IF语句大显身手之成绩判断
- ms10_046_shortcut_icon_dllloader 这个其实很好用
- 废钢价格和脚后跟
- Python的subprocess子进程和管道进行交互
- V4L2文档翻译(二)
- Objective-C2
- 最长递增子序列
- ArcGlobe三维开发之十五——使用对话框设置坐标参考系(ISpatialReferenceDialog2)
- java 流的用法
- boost::noncopyable
- iOS NSArray与NSDictionary简单使用(零基础)
- JDBC 的基础使用 获取JDBC链接对象(一)
- MVC的理解
- 异步js调用:callback,listeners,control flow libs 和 promises