Objective-C 基础知识之(九):创建对象的方法
来源:互联网 发布:非凡软件站 恶心 编辑:程序博客网 时间:2024/06/05 00:00
基本观念:
对象可以用@“xx”表示,也可以用对象名表示,一般为了简洁和能够重复使用某个对象,应使用对象表示。
1、OC中使用类创建对象的声明方法
(1)init初始化方法:
标志:
init 创建一个空对象,然后根据需求使用存取方法赋初值;
NSString * a1 = [ [NSString alloc] init];
initWit XXX创建对象的同时根据需求赋初值;
NSString * a2 = [ [NSString alloc] initWithFormat:@”xxx”];
NSString:initWithFormat:<#(NSString*), ...#>
NSArray:initWithObjects:<#(id),...#>, nil
NSSet: initWithObjects:<#(id),...#>, nil
NSDictionary:initWithObjectsAndKeys:<#(id),...#>, nil
Nil为结束标志符。
(2)类方法的初始化方法:
标志:
对象类型名去掉NS后的小写,string,创建一个空对象,然后根据需求使用存取方法赋初值;
NSString * b1 = [NSString string];
小写对象类型名+with,创建对象的同时根据需求符初值;
NSString * b2 = [NSString stringWithFormat:@”xxx”];
NSString:stringWithFormat:<#(NSString*), ...#>
NSArray:arrayWithObjects:<#(id),...#>, nil
NSSet: setWithObjects:<#(id),...#>, nil
NSDictionary:dictionaryWithObjectsAndKeys:<#(id),...#>, nil
Nil为结束标志符。
(3)使用字面量(语法糖) 创建不可变的对象:
NSString创建对象使用@”字符串”对象直接创建,创建的是不可变对象。
数组直接在@后加[]:
NSArrary * array =@[@”10”, @”20”, @”30”];
字典直接在@后加{}:
NSDictionary * dic =@{@”name”: @”zhangsan”};
(4)NSString还可以通过导入文件创建初始对象。
WithContentsOfFile: @”文件路径,可以单独设置对象引用”
encoding: NSUTF8StringEncoding
error: nil / &error
如果需要查看错误信息:NSError * error = nil;
a、initWithContentsOfFile:
initWithContentsOfFile:<#(NSString*)#> encoding:<#(NSStringEncoding)#> error:<#(NSError*__autoreleasing *)#>
b、stringWithContentsOfFile:
stringWithContentsOfFile:<#(NSString*)#> encoding:<#(NSStringEncoding)#> error:<#(NSError*__autoreleasing *)#>
注:
(1)可变类型的对象,一般创建的都为未赋初值的对象。因为对象是可变的,故可以给对象增加值,即赋值。
(2)NSString用快捷方式创建的对象是不可变对象。
(3)创建数组和字典都可以使用语法糖,但是语法糖创建的是不可变的对象。
(4)字典的创建需要使用键值对Key->Value;
(5)init和类方法声明字典对象时,参数和key值对应的顺序为:value,key1, value2, key2,……
语法糖方法声明对象时,参数和key值的对应顺序相反,并且它们之间由冒号(:)间隔。
(6)使用字典管理数据的优势:可以使用key访问存储的数据。
2、有无返回值确定
有返回值:
根据获取的对象类型确定返回值类型。
无返回值:
操作可变对象时,一般都没有返回值。可变对象返回它本身。
3、长度,元素个数的获取
字符串长度:[NSString length]; 等价于NSString.length;
元素个数:[NSArray count];等价于 NSArray.count;
集合个数:[NSSet count];等价于 NSSet.count;
4、NSRange的创建和打印,返回值为NSUInteger
NSRange range = NSMakeRange(3, 6);// = {3,6};
NSLog(@"%lu %lu", range.location,range.length);
NSLog(@"%@",NSStringFromRange(range));
5、字面量(语法糖的使用种类)
表示常量字符串对象
NSString * string = @"love";
表示数字对象NSNumber
NSNumber * number = @10;
创建不可变数组对象
NSArray * array = @[@"11",@"12"];
通过下标访问数组元素
NSLog(@"%@", array[1]);
创建不可变字典对象
NSDictionary *dic = @{@"name":@"zhangsan", @"gender":@"female"};
通过key访问value
NSLog(@"%@",dic[@"name"]);
- Objective-C 基础知识之(九):创建对象的方法
- Objective-C基础知识之(一):类、对象、创建对象、对象操作
- Objective-C研究院之集合对象(九)
- Objective-C语法之集合对象的那些事儿(九)
- Objective-C语法之集合对象的那些事儿(九)
- Objective-C语法之集合对象的那些事儿(九)
- Objective-C语法之集合对象的那些事儿(九)
- 【黑马程序员】Objective-C语言学习笔记之对象的创建、使用和方法调用(三)
- Objective-C基础之面向对象编程(OOP)的基础知识(1)——间接
- Objective-C 基础知识之(十): OC中的排序方法
- Objective-C 集合对象(九)
- Objective-c之NSString对象的创建(1)
- Objective-C基础知识之(二):方法的类型、setter方法、getter方法、初始化方法、其他方法
- Objective-C - 创建对象和调用方法
- Objective-C基础之面向对象编程(OOP)的基础知识(2)——了解过程式编程
- Objective-C 类与对象的创建及初始化,实例的可见度及方法的创建
- Objective-C基础知识之(五):NSString
- Objective-C 基础知识之(八):NSSet
- 第三课 基本绘图命令
- CoreAnimation 核心动画 简称CA
- 从零实现来理解机器学习算法:书籍推荐及障碍的克服
- mysql创建索引
- 解决中文乱码问题:获取任意网页代码
- Objective-C 基础知识之(九):创建对象的方法
- 自绘菜单的实现 ----------原作者querw
- 第102讲:通过案例解析Akka中的Actor运行机制以及Actor的生命周期学习笔记
- 递归调用
- 华为OJ题6---名字的漂亮度
- Hoj1161树状数组统计
- SAX
- 0915Android基础VideoView
- ImportError: No module named items