Xcode怎么把数组转换成字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Xcode怎么把数组转换成字符串相关的知识,希望对你有一定的参考价值。

  1. OC的数组成员是任意的对象指针 与C中的链表结构类似(以nil结尾) 一切的数组操作不能越界
  OC的数组分为不可变数组 NSArray 可变数组 NSMutableArray

  [cpp] view plain copy
  <pre name="code" class="objc">字符串数组初始化写法,相较于c++,比较奇怪.因为他是作为一个对象在实现对象实例初始化,整个格式都是这样.

  [cpp] view plain copy
  <pre name="code" class="objc">NSArray * array = [[NSArray alloc]initWithObjects:@"one",@"two",@"three", nil];

  [cpp] view plain copy
  <pre name="code" class="objc">NSLog(@"%@",[array objectAtIndex:0]);//通过下标获取数组成员(下标从0开始

  [cpp] view plain copy
  <pre name="code" class="objc">NSLog(@"%ld",[array count]);//获取数组有效成员个数 (不包括nil)

  [cpp] view plain copy
  <pre name="code" class="objc">for (i = 0; i < [array count]; i++) //遍历数组(C方法)

  [cpp] view plain copy
  <pre name="code" class="objc"> NSLog(@"%@",[array objectAtIndex:i])

  [cpp] view plain copy
  <pre name="code" class="objc">

  [cpp] view plain copy
  <pre name="code" class="objc">NSLog(@"%@",array);//(OC)查看数组内容(先给array发送description消息,然后给每个成员都发送一个description消息

  [cpp] view plain copy
  <pre name="code" class="objc">NSArray * array1 = [[NSArray alloc]initWithArray:array];//创建数组对象 相当于拷贝

  [cpp] view plain copy
  <pre name="code" class="objc">NSArray * arry2 = [NSArray arrayWithArray:array];//创建数组对象 相当于拷贝

  [cpp] view plain copy
  <pre name="code" class="objc">NSEnumerator * enumer = [array objectEnumerator];//正序枚举器

  [cpp] view plain copy
  <pre name="code" class="objc">//创建一个枚举器 把数组的每个元素的地址一次赋给枚举器,然后建立起某种关联 (枚举器只能用来读数组成员)

  [cpp] view plain copy
  <pre name="code" class="objc">//枚举时 会和数组创建某种关联(修改监视器/迭代器) 限制枚举的同时不能修改元素 只能读不能写

  [cpp] view plain copy
  <pre name="code" class="objc">id obj;

  [cpp] view plain copy
  <pre name="code" class="objc">//第一次循环把数组的第一个元素赋给obj 第二次循环把第二个数组元素赋给obj

  [cpp] view plain copy
  <pre name="code" class="objc">while (obj = [enumer nextObject]) //遍历数组

  [cpp] view plain copy
  <pre name="code" class="objc"> NSLog(@"%@",obj);

  <pre name="code" class="objc">

  [cpp] view plain copy
  <pre name="code" class="objc">//快速枚举 第一次循环把array的第一个元素赋给ob 第二次循环把array的第二个元素赋给ob 直到nil(只能读不能改)

  [cpp] view plain copy
  <pre name="code" class="objc">for(id ob in array)

  [cpp] view plain copy
  <pre name="code" class="objc"> NSLog(@"%@",ob);

  [cpp] view plain copy
  <pre name="code" class="objc">

  <pre name="code" class="objc">//逆序输出数组(创建逆序枚举器 第一次循环把最后一个元素赋给obj )

  <pre name="code" class="objc">NSEnumerator * enumer1 = [array reverseObjectEnumerator];

  [cpp] view plain copy
  <pre name="code" class="objc">while (obj = [enumer1 nextObject])

  [cpp] view plain copy
  <pre name="code" class="objc"> NSLog(@"%@",obj);

  [cpp] view plain copy
  <pre name="code" class="objc">

  [cpp] view plain copy
  <pre name="code" class="objc">if ([obj isKindOfClass:[Dog class]]) //获取类的类型 判是否是指定类的对象

  [cpp] view plain copy
  <pre name="code" class="objc"> if ([obj isMemberOfClass:[Dog class]])

  [cpp] view plain copy
  <pre name="code" class="objc">

  2. 不可变数组

  [objc] view plain copy
  -------查找
  [objc] view plain copy
  <span style="font-family: Arial, Helvetica, sans-serif;">NSArray * array = [[NSArray alloc]initWithObjects:@"one",@"two",@"three",@"one", nil nil];</span>
  NSUInteger index = [array indexOfObject:@"one123"];//返回第一个找到的数组成员对应的下标 找不到返回NSNotFound

  [objc] view plain copy
  index = [array indexOfObject:@"one" inRange:NSMakeRange(1, 3)];//在指定范围内查找

  [objc] view plain copy
  if (index != NSNotFound)
  NSLog(@"%ld",index);
  
  ----抽取 组成新的数组

  [objc] view plain copy
  NSArray * array1 = [array objectsAtIndexes:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(1, 3)]];
  《数字集合》

  [objc] view plain copy
  NSIndexSet这是个数字集合类

  [objc] view plain copy
  [NSIndexSet indexSetWithIndexesInRange:NSMakeRange(1, 3)]产生一个数字集合

  3. 可变数组

  [objc] view plain copy
  NSMutableArray * array = [[NSMutableArray alloc]initWithObjects:@"one",@"two",@"three",@"four", nil nil];
  [array addObject:@"five"];//在数组尾部插入元素
  [array insertObject:@"six" atIndex:5];//在数组指定下标位置插入元素(不能越界,最大值为length)
  [array removeObject:@"six"];//删除指定元素(数组中出现的所有位置都将被删除)

  [objc] view plain copy
  [array removeObject:@"two" inRange:NSMakeRange(0, 3)];//从指定下标位置开始的指定长度内删除指定元素

  [objc] view plain copy
  [array removeLastObject];//删除最后一个元素

  [objc] view plain copy
  [array removeAllObjects];//删除所有元素<span style="font-family: Arial, Helvetica, sans-serif;"> </span>
  [array replaceObjectAtIndex:3 withObject:@"ios"];//将指定下标位置元素替换为指定的元素
  [array exchangeObjectAtIndex:0 withObjectAtIndex:3];//将指定下标的两个元素进行交换
  4. 字符串分割与拼接

  [objc] view plain copy
  //@"" 空的字符串对象
  -------分割
  NSString * ptr = @"I am a man";

  [objc] view plain copy
  NSArray * array = [ptr componentsSeparatedByString:@" "];//将字符串整体作为分割条件 返回值为NSArray不可变数组

  [objc] view plain copy
  NSMutableArray * array1 = [NSMutableArray arrayWithArray:array];//若修改,则将NSArray转化为NSMutableArray

  [objc] view plain copy
  NSArray * array2 = [ptr componentsSeparatedByCharactersInSet:[NSCharacterSet
  [objc] view plain copy
  characterSetWithCharactersInString:@", "]];//以字符串中的字符作为分割条件进行分割
  《字符集合》
  NSCharacterSet 这是个字符集合类
  [NSCharacterSet characterSetWithCharactersInString:@", "]//把字符串转化为字符集合
  -------拼接
  NSString * str = [array componentsJoinedByString:@" "];
  若分割条件出现在开头或者结尾,则会出现空串@"",如果不需要,则需要转化成NSMutableString对空串进行处理
  func1: [array1 removeObject:@""]; //找到空串直接删除
  func2: for(id obj in array1)
  if([obj length] == 0) //空串的长度为0
  if([obj isEqualToString:@""]) //与空串进行比较(字符串是不能进行==比较的,要使用函数)
  
  5 . 获取绝对路径中文件名(测试通过)
  lastPathComponent
  6. 另一种获取绝对路径中文件名的方法,测试未通过,但思路有保留价值
  NSArray *splitArr=[filepath componentsSeparatedByString:@"//"];//注意转义字符
NSString *fileName = [splitArr lastObject];
参考技术A componentsJoinedByString不就行了 参考技术B 什么语言

js怎么把数组转换成json字符串

1、javascript里面的数组都是关联数组吧?js对象的本质就是关联数组。索引数组也就是常说的数组,数组是对象,所以数组的本质也是关联数组,但通常没人这么说。2、唯一区别就是:索引数组的索引只能是0和正整数,但它是有序的。关联数组的索引很宽松,但关联数组是无序的,就这个。3、json对象是严格版本的关联数组。4、至少在chrome下,索引数组和关联数组的速度是一样的。5、索引数组的好处就是格式简单,关联数组的好处是键可以任意定义。现代浏览器中提供了JSON.stringify()方法将数组,对象转成json。JSON.stringify把一个对象转换成json字符串,JSON.parse把一个json字符串解析成对象。不支持的可以引入json2.js$.fn.stringifyArray=function(array)returnJSON.stringify(array)$.fn.parseArray=function(array)returnJSON.parse(array)然后调用:$("").stringifyArray(array) 参考技术A

JS 字面量对象 转成 json 字符串

var arr = [1,2,3,  a : 1  ];
JSON.stringify( arr );

字符串解析成 JSON

var str = '[1,2,3,"a":1]';
JSON.parse( str );

本回答被提问者采纳
参考技术B var jsonstr=JSON.stringify(你的数组);

以上是关于Xcode怎么把数组转换成字符串的主要内容,如果未能解决你的问题,请参考以下文章

JAVA中怎么把字符串转换成字符数组

JAVA中怎么把字符串转换成字符数组

JAVA中怎么把字符串转换成字符数组

java 中怎么把一个数组的字符串转换成一个数组

js怎么把数组转换成json字符串

JS怎么把字符串数组转换成整型数组