Object-c 几个

 

1、选择器

请注意setSkinColor后面有一个冒号,因为它是带参数的。由于存在这样的一个表格,所以在程序执行的时候,我们可以方便的通过方法的名字,获取到方法的ID也就是我们所说的SEL,反之亦然。具体的使用方法如下: 


1 SEL 变量名 = @selector(方法名字); 
2 SEL 变量名 = NSSelectorFromString(方法名字的字符串); 
3 NSString *变量名 = NSStringFromSelector(SEL参数); 


其中第1行是直接在程序里面写上方法的名字,第2行是写上方法名字的字符串,第3行是通过SEL变量获得方法的名字。我们得到了SEL变量之后,可以通过下面的调用来给一个对象发送消息: 

[对象 performSelector:SEL变量 withObject:参数1 withObject:参数2]; 

这样的机制大大的增加了我们的程序的灵活性,我们可以通过给一个方法传递SEL参数,让这个方法动态的执行某一个方法;我们也可以通过配置文件指定需要执行的方法,程序读取配置文件之后把方法的字符串翻译成为SEL变量然后给相应的对象发送这个消息。



2、获取私有变量的值

http://my.oschina.net/rareliu/blog/32022


3、Objective-C 语法之常用数据结构

.数组与字典

NSArray 数组: 使用它创建数组后,就不可以继续向这个数组中添加或者删除元素。

 这个数组中可以储存任意类型object的对象指针  但是不能用处储存数据类型 比如int bool char 等等

下面这行代码中我将三个字符串和self 指针储存在了mArray这个数组中

1 //初始化不可变数组
2 mArray =[[NSArray alloc] initWithObjects:@"雨松MOMO",@"15810463139",@"xuanyusong@gmail.com",self,nil];

遍历方法一 : 很普遍java 语言 c 语言都这样来遍历
1 int count = [mArray count];
2 for (int i = 0; i < count; i++) {
3     NSLog(@"固定数组 %@", [mArray objectAtIndex:i]);
4 }

遍历方法二: objective-c 2.0 引入的快速枚举法 不仅速度快 并且安全性高,推荐使用这种方式来遍历.
1 for(NSString * str in mArray) { 
2      NSLog(@"固定数组 %@", str); 
3 }

打印Log信息,最后一项为self指针 ,所以将地址打印了出来。

NSMutableArray数组:它是一个可以变化的数组,数组创建完后还可以动态的向数组中添加与删除元素,并且可以向指定位置插入元素,基本上和链表差不多。

1 //初始化可变数组 
2 mListArray=[NSMutableArray array];

addobject方法用于向数组中添加元素

1 //添加数组
2 - (void)addArray: (NSObject *) str
3 {
4     [mListArray addObject:str];
5 }

removeObject方法用于删除元素

1 //删除数组
2 -(void) deleteArray:(NSString *)str
3 {
4     [mListArray removeObject:str];
5      
6 }

replaceObjectAtIndex 方法可以修改数组中的某一个元素

第一个参数为 索引的id

第二个参数为修改对象的指针

1 //修改数组中的元素
2 -(void)changeArray:(int)ID:(NSObject *) str
3 {
4     [mListArray replaceObjectAtIndex:ID withObject:str];
5 }

insertObject方法用于向数组中插入一个元素

第一个参数  插入对象的指针

第二个参数  插入的索引

1 //向数组中插入一个元素
2 -(void)insertArray:(int)ID:(NSObject *) str
3 {
4     [mListArray insertObject:str atIndex:ID];
5 }

创建MyClass对象
01 - (void)viewDidLoad
02 {
03     [super viewDidLoad];
04                 
05      
06     mMyclass  = [[MyClass alloc] init];
07      
08      
09     //在可变数组中添加一个值
10     [mMyclass addArray:@"雨松"];
11     [mMyclass addArray:@"宝贝"];
12     [mMyclass addArray:@"MOMO"];
13     [mMyclass addArray:[[MyClass alloc] init]];
14      
15     [mMyclass changeArray:1:@"哇咔咔"];   
16          
17      
18     //输出所有信息
19     [mMyclass printArray];
20  
21  
22 }

MyClass.m
01 #import "MyClass.h"
02  
03 @implementation MyClass
04  
05  
06 //重写init方法好比java语言类的构造函数
07 //如果不重写的话init的时候父类会帮我们返回self指针
08 //重写的好处是在初始化self指针的同时可以初始化一些数据
09 - (id)init
10 {
11     self = [super init];
12     if (self) {
13         //给成员变量fuzhi
14         mID = 100;
15         //初始化不可变数组
16         mArray =[[NSArray alloc] initWithObjects:@"雨松MOMO",@"15810463139",@"xuanyusong@gmail.com",self,nil];
17          
18         //初始化可变数组
19         mListArray=[NSMutableArray array];
20         
21     }
22      
23     return self;
24 }
25  
26  
27  
28 //添加数组
29 - (void)addArray: (NSObject *) str
30 {
31     [mListArray addObject:str];
32 }
33  
34 //删除数组
35 -(void) deleteArray:(NSString *)str
36 {
37     [mListArray removeObject:str];
38      
39 }
40  
41 //修改数组中的元素
42 -(void)changeArray:(int)ID:(NSObject *) str
43 {
44     [mListArray replaceObjectAtIndex:ID withObject:str];
45 }
46  
47 //向数组中插入一个元素
48 -(void)insertArray:(int)ID:(NSObject *) str
49 {
50     [mListArray insertObject:str atIndex:ID];
51 }
52  
53 //遍历数组中的数据
54 //用log输出
55 - (void)printArray
56 {
57     for (NSString *str in mArray) {
58         NSLog(@"固定数组 %@", str);
59     }
60  
61      
62     for (NSString *str in mListArray) {
63         NSLog(@"可变数组数组 %@", str);
64     }
65      
66      
67      
68 }
69 @end




 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4、字符串

//设置截取字符串的范围
20     //从第二位到第十位
21     NSRange rang = NSMakeRange(2, 10);
22     NSString * strRang = [str0 substringWithRange:rang];
23     NSLog(@"rang = %@",strRang);

5、iOS 开发 对字符串进行分组
 
NSArray* arr=[@"asd;asdasd;dfd;gd;s;as;daf"componentsSeparatedByString:@";"];
    for (int i=0; i<arr.count; i++) {
        NSString* str=[arr objectAtIndex:i];
        NSLog(@" %@",str);
    }
 
 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值