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;

}

相关文章
相关标签/搜索