A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 doudou33420 于 2014-11-2 16:15 编辑
  1. //
  2. //  main.m
  3. //  dkksdsad
  4. //
  5. //  Created by PG on 14/11/2.
  6. //  Copyright (c) 2014年 PG. All rights reserved.
  7. //

  8. #import <Foundation/Foundation.h>

  9. int main(int argc, const char * argv[]) {
  10.     @autoreleasepool {
  11.         //NSString
  12.         //获取url信息返回字符串  url可为本地文件file://
  13.         NSURL *u = [NSURL URLWithString:@"http://baidu.com"];
  14.         NSString *p = [NSString stringWithContentsOfURL:u encoding:NSUTF8StringEncoding error:nil];
  15.         //拼接字符串 返回新的对象
  16.         NSString *p1 = @"abc";
  17.         NSString *p2 = [p1 stringByAppendingString:@"123"];
  18.         //截取字符串返回新对象
  19.         NSString *p3 = [p2 substringFromIndex:3];
  20.         [p2 substringToIndex:1];
  21.         [p2 substringWithRange:NSMakeRange(0, 2)];
  22.         //字符串对比 返回bool
  23.         bool a = [p2 isEqualToString:@"abc123"];
  24.         
  25.         //NSMuTableString 可变字符串
  26.         NSMutableString *mts = [[NSMutableString alloc]initWithString:@"abc"];
  27.         //拼接原字符串 无返回值
  28.         [mts appendString:@"123"];
  29.         //可调用任何 NSString方法 以下方法返回NSString
  30. //        mts = [mts stringByAppendingString:@"123"];
  31.         //利用NSRange 删除字符串 当前对象操作 无返回值
  32.         NSRange r1 = [mts rangeOfString:@"123"];
  33.         [mts deleteCharactersInRange:r1];
  34.         //利用NSRange替换字符串 当前对象操作 无返回值
  35.         [mts replaceCharactersInRange:NSMakeRange(2, 1) withString:@"c123"];
  36.         //以指定字符串信息为分割符分割对象 返回NS数组 如"abc" "\r\t\n"
  37.         NSArray *arr = [mts componentsSeparatedByString:@"a"];
  38.         
  39.         //NS数组 保存OC对象 无法直接保存基础类型数据 如 int char struct
  40.         NSArray * arr1 = [NSArray array]; //空数组且始终为空无法添加元素
  41.         //定义元素数量为1的NS数组
  42.         NSArray * arr2 = [NSArray arrayWithObject:@"asd"];
  43.         //定义多个元素的NS数组 末尾必须使用nil
  44.         NSArray * arr3 = [NSArray arrayWithObjects:@"asd",@"qwe",@"zxc",nil];
  45.         int count = arr3.count; //获取数组元素个数
  46.         
  47.         //NS可变数组 继承NSArray
  48.         NSMutableArray * mta = [NSMutableArray array];//空数组 但可添加元素
  49.         //NSMytableArray 方法都是当前对象操作 无返回值
  50.         [mta addObject:@"添加元素"];
  51.    
  52. //        [mta addObject:nil];    NSMutableData 不可添加nil
  53.         //给当前数组添加一个NSArray数组  只可添加NSArray数组 int a[10] 无法添加
  54.         [mta addObjectsFromArray:arr3];
  55.         //根据元素信息删除元素
  56.         [mta removeObject:@"asd"];
  57.         [mta removeObjectAtIndex:1];//根据索引删除元素
  58.         //根据索引替换元素内容
  59.         [mta replaceObjectAtIndex:1 withObject:@"abc"];
  60.         //根据索引获取元素信息
  61.         NSString *p4= [mta objectAtIndex:1];
  62.         //简化objectAtIndex获取方式
  63.         NSString *p5 = mta[1];

  64.     }
  65.     return 0;
  66. }
复制代码
注意: @"" 为NSString对象 @[]为NSArray对象 当使用子类对象接受父类对象 并且仍调用子类自身方法时 请斟酌;例:   NSMuTableString * mts = @"abc123";  请观察当前真实对象为 " ? "  , 此时继续调用 子类方法 [mts appendString:@"456"] 则 "?"

点评

顶一下  发表于 2014-11-3 11:47

4 个回复

倒序浏览
应该是报错吧  因为你也说过啦:@"" 为NSString对像   NSMuTableString * mts = @"abc123";   其真是类型还是NSString   是不可变的    然后调用appendString方法是错误的
回复 使用道具 举报
正解 正解.............
回复 使用道具 举报
bucuo...............
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马