OC 的一些总结


                     OC Detail
OC的类和对象
1、           在头文件导入的时候,为什么要用“”而不是<>来表示?
<> 直接访问的是系统文件,如果找不到就会报错。
“”如果引入的文件是自己的文件,而不是系统文件,使用双引号;

 
2、- (void)setName:(NSString*)name; 对象的单个参数赋值通用表达式
为对象设置名字为(NSString*)
 
3、[类或者对象名 方法 ]这是对象的单个参数调用方法的通用表达式。
当方法是“+”时候,我们在调用时候使用类调用方法[类 方法]
当方法是“-”时候,我们在调用时候使用对象调用方法[对象 方法]
 
4、对象的多个参数如何同时赋值?
   - (void)setPerson:(NSString)name :(NSInteger)age;
   对象的多个参数如何同时调用?
   [Person setPerson:(NSString)name  :(NSInteger)age];
 
5、- (void)setName:(NSString*)name;//方法名就是去掉+-号,去掉参数;方法名就是setName:。
设置姓名 我们要给_name赋值,因为是实例变量,因此不能使用类方法。另外,我们要传进来一个值。
 
6、[receiver message];在OC中的消息表达式。
意思是主函数向receiver发送消息message。
 
7、MVC
 
8、setter赋值方法
   getter取值方法

9、继承
根类(没有父类的类)
基类(中间类)
继承是单向的,不能相互继承
可以继承所有的实例变量和方法。
注意:如果子类不满意父类方法实现,可以重写(override)父类方法。
子类中既有父类中的方法,也有子类中方法,如果要想使用父类中方法,可以加关键字super。
[super sayHi];//super调用父类中方法。
[self sayHi];//self调用自己的方法。
 
继承与包含之间区别?如何应用?
 
 
10、初始化方法
-(instancetype)initWithName:name ;//在初始化方法中,我们用instancetype来替代id,更加见名知意。
(1)初始化的时候,优先调用父类的初始化方法,初始化父类中的变量,然后再初始化自己独有的变量。
(2)每个类都清楚自己独有的变量,因此初始化方法里仅仅初始化自己独有的变量。通过调用父类的初始化方法,初始化继承过来的变量。
(3)经过一番调用后,继承树上的所有变量都可以得到初始化。
(4)最不科学的初始化方法:在子类里面,为每个变量赋值。因为你需要自己查阅都继承了哪些变量。
(5)指定初始化方法,就是无论调用哪个初始化方法都会调用到得初始化方法,
我们一般选择变量较多的初始化方法作为指定初始化方法
 
11、便利构造器
便利构造器是“+”⽅法,返回本类型的实例,方法名以类名开头。 ************************************************************************************************.h文件 - (instancetype)initWithName:(NSString *)name age:(NSInteger)age  sex:sex number:(NSInteger ) number hobby:(NSString *)hobby;
+ (Student *)initWithName:(NSString *)name age:(NSInteger)age  sex:sex number:(NSInteger ) number hobby:(NSString *)hobby;
************************************************************************************************

.m文件 + (Student *)initWithName:(NSString *)name age:(NSInteger)age  sex:sex number:(NSInteger ) number hobby:(NSString *)hobby
{
    return [[Student alloc] initWithName:name age:age  sex:sex number: number hobby:hobby];
}
************************************************************************************************
 
 
OC编程
1、苹果搜索文档(API:application programming interface)dash
(1)X-code---help---
(2)长按alt,显示?号,然后点击进去能够进入需要查找的内容。
 
2整理字符串与数组的处理方法
initWithFormat:
 
3 collection集合是无重复的,无序的。
可以分为三部分:
Array数组****************************************
Dictionary字典(无序容器)----key index********
Set


字典是什么?
字典是用于保存具有映射关系(Key Value)的容器
 
字典特点是?
(1)添加映射对的时候遵守key值无重复性,当key出现重复的时候,value就会替代之

前key对应的value。
(2)成对出现,成对删除。
(3)可变字典就可以进行增删改操作。
 
字典与数组区别?
数组array是一类相同变量值的集合。
字典dictionary是存放对象的集合。
    两者都可以进行取值赋值,数组取值就是采用下标来确定值,而dictionary的取值是采用key来确定值。这样会有一个思想了,也就是如何取字典中的value。我们采取的思路是,首先进行将所有的key采用allKeys方法取出来放进去数组arr中,这样就达到了可以通过数组的下标来控制key,从而控制value.
字典怎么用?
NSDictionary *dictionary1=[NSDictionary dictionaryWithObjectsAndKeys:str1,str2,@"m",@"sex",@"35",@"age",@"sh",@"sex",nil]
键值对通过hash来打印,没有一定肉眼可观察的顺序。
键值对中key重合的话,直接获取前者的value。
 
字典的打印,可以用循环方式来处理:
思路如下:(1)定义一个数组arr。(2)将所有key放进去arr。(3)计算count。(4)for循环打印在arr[i]=key处所对应的value。
例如打印dictionary1:
  NSArray *arr=[dictionary1 allKeys];
  NSInteger num=[dictionary1 count];
for(int i=0;i<num;i++)
{
NSString *key=[dictionary1 objectAtIndex:i];
NSString *value=[]
 
}
字典一般使用
NSMutableDictionary中的增加、删除、查询——常用。
 
NSSet以后使用较少,主要是对可变的set也就是NSMutableSet的使用,使用举例:连连看的随机出现。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值