文档章节

foudation

小黑202
 小黑202
发布于 2016/07/15 14:36
字数 982
阅读 2
收藏 0

//

//  main.m

//  reviseFoundationBaseType

//

//  Created by on 15/5/28.

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

//

 

#import <Foundation/Foundation.h>

#import "Person.h"

 

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

    @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;

}

 

© 著作权归作者所有

小黑202
粉丝 7
博文 146
码字总数 39293
作品 0
西安
程序员
私信 提问
关于Bluemix中的服务

最近在使用IBM Iot Foudation服务,用mqtt协议成功将设备连上了平台,但是感觉功能很局限。 如果要想看到可视化的界面,还得去quickstart,而且quickstart一个页面也只能看一个设备,并且一刷...

_Mamahoohoo
2016/08/15
86
0
响应式 Web 设计新原则

响应式Web设计(RWD)是Web领域的流行语。在推上搜索#rwd(Responsive Web Design),可以找到同样多的内容和垃圾推文。这是新概念逐渐成熟的常见现象。我记得满页面Ajax的时候,Ajax和RWD一样落...

傅小黑
2013/01/29
4.3K
7

没有更多内容

加载失败,请刷新页面

加载更多

没有更多内容

ubuntu或ubuntu kylin优麒麟中安装QQ、wechat微信、百度网盘

从中国国内的地址下载deepin wine,码云上的。这样网速比较快。然后,按照说明向下安装。 https://gitee.com/wszqkzqk/deepin-wine-for-ubuntu...

gugudu
24分钟前
1
0
基于redis分布式锁实现“秒杀”

最近在项目中遇到了类似“秒杀”的业务场景,在本篇博客中,我将用一个非常简单的demo,阐述实现所谓“秒杀”的基本思路。 业务场景 所谓秒杀,从业务角度看,是短时间内多个用户“争抢”资源...

别打我会飞
44分钟前
13
0
Zookeeper的实践指南

本章重点 1.数据存储2.基于Java API初探Zookeeper的使用3.深入分析Watcher机制的实现原理4.Curator客户端的使用,简单高效 数据存储 事务日志快照日志运行时日志 bin/zookeepe...

须臾之余
47分钟前
1
0
MySQL mybatis Point类型数据

MySQL中的point用于表示GIS中的地理坐标,在GIS中广泛使用 如何写入mysql,如下图: CREATE TABLE `test-point` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '序号', `point` ......

张欢19933
58分钟前
2
0
设计模式-适配器模式

适配器模式 适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。 这种模式涉及到一个单一的类,该类负责加入...

HOT_POT
今天
18
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部