OCDay2-NSString、常见错误、结构体为属性时的访问、对象访问变量与方法的方式、#pragma mark\
2016-01-13 22:30
393 查看
NSLog 加\n
则\n不起作用
nil 字符串初始化时的赋值
栈区 :存储有指针
堆区:存储有对象
BSS:没有初始化的全局变量和静态变量
数据区:已经初始化的全局变量和静态变量
代码区:存储有方法
地区从下往上以此增高的
先找到指针,根据指针保存的地址找到对象,然后根据对象找到属性,修改其值,
对象存储在堆区,指针存储在栈区
每个对象内部都有一个隐藏的isa指针,指向位于代码区的方法,也就是当前对象所属的类,这个类中有方法。
对象去调用属性:1.通过对象名找到对象
2.赋值
对象去调用方法:1.通过对象名找到对象
2.再通过地址找到ISA指针
3.找到方法
NSString是处理字符串的核心类
1.可以创建多种字符串:空的字符串,指定字符串(常用),某种格式的字符串
2.如何计算长度:NSString
有一个对象方法叫length,返回值是NSUInteger(无符号的长整型)
NSUInteger length = [str length];
计算数组str的长度,其中:
纯中文,一个中文长度是1
纯英文,一个英文长度是1
中英文混合时,长度都是1
#pragma mark 预处理指令
,用来给代码分组
#pargma mark — 会在提示的时候有一条横线分割 “—”后面不要加空格
否则分割线会多一条
可以快速找到想要的代码块
常见错误
生命与实现,不能嵌套包含
只有声明,没有实现,而且代码中不会出现报错提示
漏写@end
先实现后声明的情况会报错
实例变量没有写在{ }里
方法不能嵌套
声明时不能对变量进行赋值
谁调用了方法,则方法里若无指定的变量值就是谁的
NSString new 与 @“”创建的字符串都是什么都没有,输出的时候什么都不输出
NSString * str = [NSString stringWithFormat:@”%d.jpg”];
按照某种格式生成字符串
多文件开发:方便开发,方便合作
定义结构体为属性时可通过:
1. 对象名—>对象中的结构体名.结构体变量名
2. 对象名—>对象中的结构体名=(结构提名){初始化的变量}
3. 结构体
结构提名={ 初始化的变量 };
对象名—>对象中的结构提名=结构提名
如:dates * time=[dates new];
time->dat.day=10;
time->dat.month=3;
time->dat.year=1995;
date oneDay ={1995,6,16};
time->dat=oneDay;
time->dat=(date){1995,6,16};
则\n不起作用
nil 字符串初始化时的赋值
栈区 :存储有指针
堆区:存储有对象
BSS:没有初始化的全局变量和静态变量
数据区:已经初始化的全局变量和静态变量
代码区:存储有方法
地区从下往上以此增高的
先找到指针,根据指针保存的地址找到对象,然后根据对象找到属性,修改其值,
对象存储在堆区,指针存储在栈区
每个对象内部都有一个隐藏的isa指针,指向位于代码区的方法,也就是当前对象所属的类,这个类中有方法。
对象去调用属性:1.通过对象名找到对象
2.赋值
对象去调用方法:1.通过对象名找到对象
2.再通过地址找到ISA指针
3.找到方法
NSString是处理字符串的核心类
1.可以创建多种字符串:空的字符串,指定字符串(常用),某种格式的字符串
2.如何计算长度:NSString
有一个对象方法叫length,返回值是NSUInteger(无符号的长整型)
NSUInteger length = [str length];
计算数组str的长度,其中:
纯中文,一个中文长度是1
纯英文,一个英文长度是1
中英文混合时,长度都是1
#pragma mark 预处理指令
,用来给代码分组
#pargma mark — 会在提示的时候有一条横线分割 “—”后面不要加空格
否则分割线会多一条
可以快速找到想要的代码块
常见错误
生命与实现,不能嵌套包含
只有声明,没有实现,而且代码中不会出现报错提示
漏写@end
先实现后声明的情况会报错
实例变量没有写在{ }里
方法不能嵌套
声明时不能对变量进行赋值
谁调用了方法,则方法里若无指定的变量值就是谁的
NSString new 与 @“”创建的字符串都是什么都没有,输出的时候什么都不输出
NSString * str = [NSString stringWithFormat:@”%d.jpg”];
按照某种格式生成字符串
多文件开发:方便开发,方便合作
定义结构体为属性时可通过:
1. 对象名—>对象中的结构体名.结构体变量名
2. 对象名—>对象中的结构体名=(结构提名){初始化的变量}
3. 结构体
结构提名={ 初始化的变量 };
对象名—>对象中的结构提名=结构提名
如:dates * time=[dates new];
time->dat.day=10;
time->dat.month=3;
time->dat.year=1995;
date oneDay ={1995,6,16};
time->dat=oneDay;
time->dat=(date){1995,6,16};
相关文章推荐
- 多线程篇-NSOperation-方法使用
- Oracle - 数据库的实例、表空间、用户、表之间关系
- 上河软——遇见更好的自己!
- Writing Hello World Bootloader
- 如何手动实现C语言中的字符串操作
- 如何手动实现C语言中的字符串操作
- wpa_supplicant & wpa_cli
- 如何手动实现C语言中的字符串操作
- Swift学习之UITableView的实现以及滑动删除
- https服务器(CentOS 6)搭建&测试
- 数据库——表中显示乱码
- 闪回数据归档 上 4000
- 课堂笔记
- Leetcode231: Minimum Window Substring
- 进程通信:管道(pipe)和 unix域套接字(socketpair)区别
- Nginx、LVS及HAProxy负载均衡软件的优缺点详解
- Redis系列-存储篇sorted set主要操作函数小结
- 关于小蜘蛛诞生的坎坎坷坷
- 作品第三课----用parseInt解析数字,并求和
- Java:利用java Timer类实现定时执行任务的功能