foudation

//數組

//  main.mapp

//  reviseFoundationBaseType測試

//spa

//  Created by on 15/5/28..net

//  Copyright (c) 2015. All rights reserved.code

//orm

 

#import <Foundation/Foundation.h>對象

#import "Person.h"ip

 

int main(int argc, const char * argv[]) {ci

    @autoreleasepool {

        // int , float , double , char , bool

        // C的基本數據類型

        int a = 2;

        float b = 1.0f;

        double c = 1;

        char d = 'a';

        bool e = true;

        

        printf( "%d-%.2f-%.2f-%c-%d\n", a,b,c,d,e  );

        //這是邏輯運算符號 && 返回值 0() 1()

        //任何非0爲真,0爲假

        // || 任何一個爲真,結果爲真

        // ! 非爲取反,就是取出相反的結果

        // 三目運算 ? :。若是a>b則返回1 不然返回0

        // 關係運算:> >= < <= == !=

        // 算術運算:+ - * /

        // 優先級: 先算術 關係

        int f = a && b;

        int g = &a || &b;

        int h = !a;

        int i = a > b ? 1 : 0 ;

        int j = a > b + c;

        char k[] = {"aaaaa"};

        char *l[] = {"bbbb","ccccc"};

        

        

        printf( "%d\n", j);

        

        //OC 基本類型 BOOL YES / NO

        // BOOL 雖然在OC裏面是YES/NO 可是值仍是整型,默認爲0

        BOOL _bool;

        NSLog( @"%i", _bool );

        

        //NSString 字符序列不可變  可替換 可賦值

        NSString *str = @"123123";

        str = @"232332";

        

        //給定初始字符長度 可改變長度

        //NSRange 結構體類型,截取字符串長度

        //NSRange Location(位置) Length(長度)

        NSRange range = NSMakeRange(4, 2);

        NSMutableString *str1 = [NSMutableString stringWithCapacity:10];

        //追加字符串

        [str1 appendString: @"abcdcfeg" ];

        //刪除某個區間的字符串

        //[str1 deleteCharactersInRange: range];

        [str1 substringWithRange: range];

        

        //rangeOfString 找到一個要查找的位置(多個字符只返回第一個具體位置 length location)

        NSRange range1 = [str1 rangeOfString: @"c"];

        

        //f替換掉這個區間範圍的字符串

        //[str1 replaceCharactersInRange:range1 withString: @"f"];

        //NSLog( @"%@", str1  );

        

//        //查找f所有替換掉字符串

//        NSString *str3  = @"abcdcfeg";

//        NSString *str2 = [str3 stringByReplacingOccurrencesOfString:@"c" withString:@"f"];

//         NSLog( @"%@", str2  );

//

        NSLog( @"------- Array -----" );

        

        int aArray = 10;

        NSNumber *number1 = [NSNumber numberWithInt:aArray];

        NSLog( @"%@", number1);

        

        //數組複習

        //NSArray 不可變數組(特指下標序列不可變)

        //[array count] 返回數組長度

        //[array objectAtIndex:i] 以數組下標的形式返回數組中元素

        //[array arrayByAddingObject: @"123"] 原來數組不變,把新增的元素加入新數組裏

        

        NSArray *array = @[@"a", number1 , @"c"];

        array = @[ @"bbb", @"ccc"];

        NSArray *array1 = [array arrayByAddingObject: @"123"];

        

//        for( int i = 0 ; i < [array1 count]; i++ ){

//            NSLog( @"%@", [array1 objectAtIndex: i] );

//        }

        

        //可變數組 NSMutableArray

        //arrayWithCapacity 給數組一個初始空間

//        NSMutableArray *muArray = [NSMutableArray arrayWithArray: array1 ];

        //給數組相關值的時候,注意從0開始一直到最後下標的連續性,不然異常

        //增長: 1addObject 2muArray[[muArray count]] = 新值

        //修改:1setObject: (id類型) atIndexedSubscript: 下標 2muArray[下標] 新值

        //刪除:

        NSMutableArray *muArray = [NSMutableArray arrayWithCapacity: 10];

 

        muArray[0] = @"123123";//可改變數組的序列 下標

        //muArray[5] = @"12312321323213";

        [muArray addObject:@"aaaa"];

        

        NSMutableArray *muArray2 = [NSMutableArray arrayWithObjects: @"First", @"First", nil];

        

        [muArray2 addObjectsFromArray:muArray];

        

//        NSMutableString *testMu = [NSMutableString stringWithFormat:@"1234567890"];

//         NSRange rstRange = [testMu rangeOfString: @"aaaa"];

//        [testMu deleteCharactersInRange:rstRange];

//        NSLog( @"%@", testMu);

        

        

        //[muArray2 setObject: @"456456" atIndexedSubscript:1];

        //[muArray2 removeLastObject]; //刪除最後一個元素

        //[muArray2 removeObject:@"456456"]; //根據值去刪除元素

//        NSRange rrange1;

//        rrange1.length = 2;

//        rrange1.location = 0;

//        //[muArray2 removeObject:@"First" inRange:rrange1]; //刪除範圍

        //deleteCharactersInRange 刪除的時候注意類型 ID類型不能刪除範圍

        

        for( int i = 0 ; i < [muArray2 count]; i++ ){

            NSMutableString *tempStr = [NSMutableString stringWithFormat:@"%@",[muArray2 objectAtIndex:i]];

            if( [tempStr isEqualToString: @"First"] ){

//

                NSRange rstRange = [tempStr rangeOfString: @"rst"];

                NSLog( @"%li , %li", rstRange.length , rstRange.location);

                [tempStr deleteCharactersInRange:rstRange];

                NSLog( @"%@", tempStr);

            }

            

        }

        

        //字典

        id testObj = [[Person alloc]init];

        //NSString / NSNumber / NSArray / NSDictionary

        //以上類型經嚴謹測試經過,能夠做爲字典的key

        

        //NSString / NSNumber / NSDictionary /

        // 字典取值字典的方式: dict[ key ][ 裏面字典的key ]

        

        NSNumber * numberNS = @1;

        NSArray *arrayNS = @[ @"123" ];

        

        //NSDictionary 爲不可變類型

        //不能刪除

        NSDictionary *testDict = @{

             @"a" : @"b"

        };

        

        NSDictionary *dict = @{

               @"name" : @"jabez",

               //testObj : @"123",

               numberNS : @"456",

               //arrayNS[0] : @"eeee",

               //arrayNS[1] : @"aaaa",

               arrayNS : @"bbb",

               testDict : @"ddddddd",

               @"abc" : arrayNS

        };

        

        

        //[dict removeValueAtIndex:0 fromPropertyWithKey:@"abc"];

        NSLog( @"---- @@@ , %@", dict[@"abc"] );

        

        //可變字典

        //能夠刪除

        //能夠修改

        NSMutableDictionary *muDict = [NSMutableDictionary dictionaryWithDictionary: dict];

        

        //根據某個鍵改變相關的值  setValue forKey KVC 寫法

        //setObject: 能夠寫對象 forKey:能夠寫對象類型

        //setValue: 能夠寫對象 forKey: 只能寫字符串

        [muDict setObject: @"dddd" forKey:@"name"];

        [muDict setValue:@"ddd" forKey: @"name"];

        //[muDict set;

        

        //新增某個字典的鍵值

        //因爲新增鍵值至少爲最小的單位的字典,因此至少加入字典類型

        [muDict addEntriesFromDictionary:

         @{@"a" :@"b"}];

        

        //批量刪除多個鍵值

        //[muDict removeObjectsForKeys: @[@"abc", @"name"]];

        

        //刪除單個鍵值

        //[muDict removeObjectForKey: @"abc"];

        

        //刪除鍵下面的數組 的具體下標的值

//        [muDict removeValueAtIndex:0 fromPropertyWithKey: @"abc"];

 

        //刪除所有

        //[muDict removeAllObjects];

        

        //NSLog( @"---- @@@ , %@", muDict );

        

        // insert code here...

        NSLog(@"Hello, World!");

    }

    return 0;

}

相關文章
相關標籤/搜索