黑马程序员---学习笔记15:OC基础(3)

七分热度_HD 2015-08-17 01:28:49

oc入门注意事项:

1)@interface,@end和@implementation,@end不能嵌套

2)声明和实现语句需要成对出现,即使声明中没有方法
oc是一种弱语法的语句,在使用过程中可能不按照规范也不出错,但是一定要成对写

3)漏写@end

4)多个类的声明和实现是可以打乱的,但是声明一定要在实现之前写

5)方法的声明不能写在{}里面

6)声明时,不能对成员变量初始化,成员变量不能脱离对象独立存在

7)成员变量要写在{}里面

8)方法不能像函数那样调用

9)成员变量和方法不要用static等关键字修饰,OC中有单独的关键字

10)声明要现在对象使用之前,实现可以写在使用之后


报错的两个明显标志:

1)程序没有退出
2)程序停到一行,显式绿色,开头是:Thread

调用没有实现的方法,是会报错的!!!一定记得去实现定义的方法


对象和方法的关系:

1)对象作为方法的参数:
-(返回值类型)方法名:(类名 *)参数名称;

2)对象作为方法的返回值:
-(类名 *) 方法名:(类名 *)参数名称;

对象作为方法的参数连续传递:

一个对象中可以在成员变量里声明另一个类的对象,这样另一个类的对象就称为自己的成员变量。当然本类中也可以让它类作为自己方法的参数传递进来,在实现该方法的时候,传递进来的它类可以调用它类的方法。这样就完成了使用本类的对象让它类的对象完成一件事。比如士兵使用抢,抢射击。枪类可以作为士兵方法的参数,在该方法中,枪类可以调用抢设计的方法。
当方法中有多个参数时,还可以通过第一个类参数调用该类的方法,而该方法就是需要第二个类参数的。这样第二个类参数完成了两次传递。

NSString类的常见用法:
NSString是OC中常见处理字符串的类之一(还有NSMutableString等)

1)特殊用法:
NSString * s1=@"AAAAA";

2)正规用法:
NSString *s2=[NSString new];
s2=@"BBBB";

3)第三种方式,格式化创建字符串(按照指定的格式创建字符串)
for(int i=1;i<5;i++)
{
NSString *imgName = [NSString stringWithFormat:@"XXXXXX%02d.jpg",i];
NSLog(@"%@",imgName);
}
打印出的是:
XXXXXX01.jpg
XXXXXX02.jpg
XXXXXX03.jpg
XXXXXX04.jpg

4)用一个已经存在的字符串创建新的字符串
NSString *s2=[[NSString alloc] initWithString:s1];
创建的s2和s1的内容一样

NSString类的长度计算方法:
通过NSString类的对象方法length可以获得字符串的长度。

NSUInteger len= [s1 length];//其实返回值是无符号整型的

OC中 中英文都占用1个字符
C语言中UTF-8编码,一个汉字占3字节,

NSString *s1=@"语言";
char *s2="语言";
len =[s1 length]; //len是2

len1=strlen(s2); //len1是6
...全文
892 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

1,160

社区成员

发帖
与我相关
我的任务
社区描述
在CSDN学院遇到的问题反馈及对学院的改进建议等。
社区管理员
  • 软件培训社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧