NSNumber&&NSArray&&NSMutableArray

NSNumber

1.定義基本數據類型

char a = 'f';

int b = 5;

short c = 20;

long d = 100;

float e = 2.5;

double f = 225.214;

BOOL isTrue = YES;

2.將基本數據類型轉化爲NSNumber類型的對象

NSNumber *a1 = [NSNumber numberWithChar:a];

NSNumber *b1 = [NSNumber numberWithInt:b];

NSNumber *c1 = [NSNumber numberWithShort:c];

.

.

.

NSNumber *isTrue1 = [NSNumber numberWithBool:isTrue];

將對象存入數組中

NSArray *arr = [NSArray arrayWithObjects:a1,b1,c1,d1,e1,f1,isTrue1,nil];

NSLog(@"%@",arr);

3.將NSNumber類型的對象轉化爲基本數據類型

char a2 = [a1 charValue];

int b2 = [b1 intValue];

4NSNumber類型的比較

NSLog(@"%ld",[a1 compare:b1]); //升序爲-1,降序爲1,相等爲0;

NSArray

首先了解一下數組的價值:(1)儲存多個元素.(2)儲存的元素只能是對象,對象可以是不同類型的(3)數組是一個有序的集合(4)數組中的元素可以重複,而且重複的對象可以成爲數組元素
1.創建數組對象
(1)使用 便利構造器方法
arrayWithObjets 創建對象時可以指定多個對象元素,元素與元素之間用逗號隔開
nil 數組元素的結束標誌,遇到nil之後的元素都不放在數組中
NSArray *arr1 = [NSArray arrayWithObjects:@"aa",@"bb".@"cc",@"dd",nil];
NSLog(@"%@",arr1);
(2)使用初始化方法
NSArray arr2 =[[NSArray alloc]initWithObjects:@"aa",@"bb",@"cc",@"dd",@"ee",@"aa",@"bb",@"cc",@"dd",nil,@"ee"nil];
2.獲取元素個數
 NSInteger count = [arr2 count];
        
NSLog(@"%lu",count);
3.根據索引值獲取對象
        
//(1).獲取指定下標對應的元素
        NSString *str = [arr2 objectAtIndex:1];
        NSLog(@"%@",str);
        
//(2).獲取數組中的第一個元素
     
//firstObject  lastObject 好在當數組元素爲空時,會返回nil objectAtIndex則會造成程序crash . index 0 beyond bounds of empty array 數組下標越界.
        
NSString *str1 = [arr2 firstObject];
        
NSLog(@"%@",str1);
        
//(3).獲取數組中的最後一個元素
        
NSString *str2 = [arr2 lastObject];
        
NSLog(@"%@",str2);
4.獲取對象在數組中的索引值
        
NSUInteger index = [arr2 indexOfObject:@"dd"];
        
NSLog(@"%lu",index);
5.判斷是否包含某個對象
        
BOOL isExist = [arr2 containsObject:@"Frank"];
        
NSLog(@"iseExist = %d",isExist);
6.數組排序(幼兒版)
        
NSArray *sortArr = [arr2 sortedArrayUsingSelector:@selector(compare:)];
        
NSLog(@"%@",sortArr);
7.快速遍歷(快速枚舉)
//        for (int i = 0; i < [arr2 count]; i++) {
//            NSString *str = [arr2 objectAtIndex:i];
//            NSLog(@"%@",str);
//        }
        
for (NSString *str in arr2) {
            
NSLog(@"%@",str);
        }
    }
//   數組元素類型  起一個對象的名字(自己擬定)
//    for (<#type *object#> in <#collection#>) {
//        <#statements#>        集合(也就是大容器,數組,字典,或者集合)
//    }
//    forin 快速枚舉(遍歷),用於將集合中的元素便利出來
下面舉一個例子
1.先創建幾本書
        
Book *book1 = [[Book alloc]initWithName:@"IOS初級1" author:@"Frank" price:1];
        
Book *book2 = [[Book alloc]initWithName:@"IOS初級2" author:@"Frank" price:2];
        
Book *book3 = [[Book alloc]initWithName:@"IOS初級3" author:@"Frank" price:3];
2.儲存在數組中
        
NSMutableArray *arr = [[NSMutableArray alloc]initWithObjects:book1,book2,book3, nil];
3.添加一本書
         
Book *book4 = [[Book alloc]initWithName:@"IOS初級4" author:@"Frank" price:4];
        [arr 
addObject:book4];
4.刪除一本書
        [arr 
removeObjectAtIndex:0];
5.通過書名查找書
        
for (Book *BOOK in arr) {
            
//獲取到數組中的元素,然後對比名字,如果相同就輸出名字
            
if ([[BOOK name]
                
isEqualToString:@"IOS初級3"]) {
                [BOOK 
setPrice:1000];
                
NSLog(@"%@",[BOOK name]);
                
NSLog(@"查找成功");
            }
        }
        
NSLog(@"%.2f",[book3 price]);
6.輸出書籍清單
        
for (Book *book in arr) {
            
NSLog(@"%@",book);
        }
  







 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章