foundation学习

 

 

 

一、NSString字符串的使用

1.基本用法

NSString对象,一旦创建,就不可以进行再改变,如需要一个可以更改的字符串对象,需要创建NSString的可变子类NSMutableString实例。

2.字符串的创建

2.1创建一个字符串常量: NSString *string=@”hello world”;

2.2创建一个空字符串:

NSString *string=[[NSString alloc]init];

NSString *string=[NSString string];

3.快速创建字符串

   NSString *string=[[NSString alloc]initWithString:@“字符串”];

   NSString *string=[NSString stringWithString:@”字符串”];

4.创建格式字符串  

 initWithFormat  , stringWithFormat 方法

 5.小注意

       常量没有引用计数,常量创建的字符串无需要管理内存

6.比较两个字符串

6.1 “==”表示比较两个字符串的地址是否相同;

    eg:    if(string1== string2){  //code...

            }

6.2 ”isEqualToString”表示比较两个字符串的值是否相同;

     Eg : if(string1 isEqualToString:string2){   //code....

         }

   6.3 通过类方法创建字符串(不需要管理内存的)

NSString *string=[NSString stringWithCString:“abc“ encoding:

NSUTF8StringEncoding];

6.4通过实例方法创建字符串(需要手动管理内存)

  NSString *string=[[NSString alloc]initWithFormat:@””];

6.5 通过追加的方式创建字符串  stringByAppendingString 方法

6.6 NSComparisonResult re=[string1  compare:string2];  //按字母排序进行比较

7截取字符串

  7.1通过类方法:substringFormIndex:下标   //从指定的位置截取到末尾

  7.2substringToIndex:下标    //从开始位置截取到指定的下标位置

  7.3截取指定位置(NSRange (loation ,length))

          Eg: NSRange rg={4,5};   //表示从4的位置开始,截取5个长度

          等价于 NSRange rg=NSMakeRange{4,5};

         //调用截取方法   [string1  substringWithRange: rg];

          rangeofstring   //得到字符串的位置

   8.大小写之间的转换

8.1 大---> 小        lowercaseString方法

8.2小----->大        uppercaseString方法

   9.判断字符串

9.1判断字符串的开头是否与指定的字符串相同    hasPrefix方法

9.2判断字符串结尾是否与指定字符串相同     hasSuffix 方法

9.3忽略大小写进行比较  caseInsensitiveCompare

    if([str1 caseInsensitiveCompare:str2 ]==NSOrferedsame){ //

}

10.分割字符串

10.1通过指定的字符串进行分割  componentsSeparatedByString 

NSArray *array=[string1 componentsSeparateByString:@”z指定的字符串”];

10.2通过指定的字符集进行分割(空格、换行)

 

NSArray *array=[string1                                                        componentsSeparatedByCharactersInset:                      NSCharacterSetEhitespaceAndNewlineCharacterSet]];

10.3通过指定的字符将数组组合成字符串

NSString *str=[array componentsJoinedByString :@”**”;

11.替换字符串

         11.1替换指点字符串

          NSString *str=[str1 StringByReplacingOccurrenxesOfString:@"要替换的字符串" withstring :@"替换后的字符串"];

         11.2替换指点位置的字符串

         NSRange myRange=[str rangeOfString:@"字符串"];

         if(myRange.laction==NSNotFound){

                 //code.....

          } else

          {

           NSString *str=[String1 StringByReplacingcharactersInRange:myRange   withstring:@"替换字符串"];

         }

 12.数据转换

          NSString *str=@"100";

          int intNum=[str intValue];

          Float floatNum=[str floatValue];

13.可变字符串NSMutableString

   13.1.如何创建一个可变字符串

  NSMutableString *str=[[NSMutableString alloc]initWithCapacity:0];

   13.2.重新设置   setString

   13.3 根据下标插入字符串  insetString:@" " atIndex:下标值

   13.4 删除指定位置的字符串

   NSRange ge=NSMakeRange(4,5);

   [string1 deleteCharactersInRange:ge];

二、数组(NSArray)

   1.通过类方法定义数组

(无需管理内存),nil表示数组的结束

arrayWithObject:......,nil  

2.通过初始化方法定义数组

   initWithArray    (通过数组创建数组)

   initWithObject    (通过对象创建数组)

  3.如何操作数组

   3.1根据下标获取数组的元素

   objectAtIndex:下标

   3.2通过元素获取对应的下标

    indexOfObjects:@"字符",返回NSInteger

   3.3获取最后一个元素:lastObject

   3.4获取数组的长度:count

  4.循环操作数组

   4.1通过枚举

    NSEnumerator  *enu=[arry1 objectEnumerator];

    id obj;

    While((obj==[enu nextObject]))

    {

        //code.......

    }

   4.2循环    for

   4.3 for in

   for(NSString *str in array)

   {

       //code.....

   } 

  4.4反转枚举  reverseObjectEnumerator

  4.5排序

   sortedArrayUsingSelector:@"selector(compare)" 

5.可变数组(NSMutableArray)

      5.1添加元素(末尾) addObject:

      5.2插入元素

      [array1 insertObject:@" " atIndex:下标];

      5.3移除元素

      根据下标移除元素:removeObjectIndex:

      移除最后一个元素:removeLastObject:

      5.4替换元素(根据下标替换)

      replaceObjectAtIndex:下标    withObject:@"替换的字符串";

      通过下标交换:exchangeObjectAtIndex: j   withObjectAtIndex:j+1;

      5.5查找

      containsObject:@"要查找的字符";

三、 字典(NSDictionary)

1.如何创建字典?

     NSMutableDictionary *dictionary=[NSMutableDictionary  dictionaryWithCapacity: 个数];

  dictionaryWithObjectsAndKey    将元素添加到字典中

2.如何操作字典?

2.1通过键得值 objectForKey

2.2 设置字典(设置没有的键是添加,反之修改)

   setObject:@"  "  forKey:@" "

2.3移除指定键值数据     removeObjectForKey

    移除所有的数据       removeAllObjects

2.4 得到字典的个数   count

2.5 循环字典

   2.5.1  通过枚举  keyEnumerator / ObjectEnumertor 

   2.5.2  通过数组 NSArray *array=[ dic allkeys];   /allValues

          根据键获取值:objecForKey

四、 NSDate、NSDateFomatter

1.NSDate  日期

NSDate *date=[NSDate date];    //得到的是美国时间

通过dateByAddingTimeInterval:8*60*60; 得到北京时间

timeIntervalsinceNow  //得到两个日期的时间间隔(秒)

[date1 earlierDate:date2]  //比较两个日期 返回较早的日期

[date2 lateDate:date2]  //返回较晚的日期

2.NSDateFomatter   日期格式器

     //创建一个日期格式器

     NSDateFomatter *fmt=[[NSDateFormatter alloc ]init];

     //设置时间格式

     [fmt  setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

//设置日期的样式

 [fmt  setDateStryle:NSDateFormattermediumstyle];

//设置时间的样式

     [fmt  setTimeStyle:NSDateFormattershortstyle];

//将日期对象转换为字符串

NSString *dt=[fmt StringFromDate:date ];

//将字符串转换为日期对象    dateFromString

五、NSNumber   

OC的数字类型(对C数据类型的一个封装)

      1.将C语言--->OC

       NSNumber ×intNum=[NSNumber  numberWithInt:100];

      2.将OC--->C

      int  num=[intNum intValue];

      将C语言的int 型存放到数组中的话,运行时将出错的,内存错误,找不到C语言的内存。

       3.判断一个字符串是否是由数字组成

        NSString *str=@"10030";

        //用于存字符串扫描指点字符

        NSScanner *scan=[NSScanner scannerWithString:str1];

        int val;

       BOOL fg=[scan  scanInt:&val ]&&[scann isAtEnd];

   六、NSNull 空/nil

        NSNull  *nl=[NSNull null ];

      在数组中要赋空值时,运用NSNull对象,而nil表示结束。

      NULL和nil就是0,nil是一个通用对象值,而NUll是一个通用指针。

 七、NSData 字节类

       1.创建 path

       2.将文件读入data对象    initWithContentsofFile:path;

       3.data对象转换为字符串  initWithData:data ;

       4.将字符串转换为data    [string dataUsingEncoding:  ];

   八、NSTimer  定时器

       NSTimer *timer=[NSTimer scheduledTimeWithTimeInterval: 1.0  target:self  selector:@selector(方法)  userInfo:nil   repeats:YES];

      //参数的说明:TimeInterval 时间间隔的秒数

                    target:操作的目标

                    selector:定时器执行的操作

                    userInfo:参数

                    repeats:是否重复

        //停止 [ timer invalidate];

        //销毁定时器

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
城市应急指挥系统是智慧城市建设的重要组成部分,旨在提高城市对突发事件的预防和处置能力。系统背景源于自然灾害和事故灾难频发,如汶川地震和日本大地震等,这些事件造成了巨大的人员伤亡和财产损失。随着城市化进程的加快,应急信息化建设面临信息资源分散、管理标准不统一等问题,需要通过统筹管理和技术创新来解决。 系统的设计思路是通过先进的技术手段,如物联网、射频识别、卫星定位等,构建一个具有强大信息感知和通信能力的网络和平台。这将促进不同部门和层次之间的信息共享、交流和整合,提高城市资源的利用效率,满足城市对各种信息的获取和使用需求。在“十二五”期间,应急信息化工作将依托这些技术,实现动态监控、风险管理、预警以及统一指挥调度。 应急指挥系统的建设目标是实现快速有效的应对各种突发事件,保障人民生命财产安全,减少社会危害和经济损失。系统将包括预测预警、模拟演练、辅助决策、态势分析等功能,以及应急值守、预案管理、GIS应用等基本应用。此外,还包括支撑平台的建设,如接警中心、视频会议、统一通信等基础设施。 系统的实施将涉及到应急网络建设、应急指挥、视频监控、卫星通信等多个方面。通过高度集成的系统,建立统一的信息接收和处理平台,实现多渠道接入和融合指挥调度。此外,还包括应急指挥中心基础平台建设、固定和移动应急指挥通信系统建设,以及应急队伍建设,确保能够迅速响应并有效处置各类突发事件。 项目的意义在于,它不仅是提升灾害监测预报水平和预警能力的重要科技支撑,也是实现预防和减轻重大灾害和事故损失的关键。通过实施城市应急指挥系统,可以加强社会管理和公共服务,构建和谐社会,为打造平安城市提供坚实的基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值