oc73--NSArray使用
//
// main.m
// NSArray和NSString之间转换 #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { NSArray *arr = @[@"lnj", @"lmj", @"jjj"];
// 需求: 用-将所有的姓名连接起来生成一个字符串 // 1.定义一个可变字符串保存拼接之后的结果
NSMutableString *strM = [NSMutableString string];
// 2.遍历数组, 取出数组中的每一个元素, 将元素添加到可变字符串中
for (NSString *str in arr) {
[strM appendString:str];
// 3.每次添加完毕之后再添加一个-
[strM appendString:@"-"];
}
[strM deleteCharactersInRange:NSMakeRange(strM.length - , )]; //lnj-lmj-jjj
NSLog(@"strM = %@", strM); NSString *str = [arr componentsJoinedByString:@"**"];
NSLog(@"str = %@", str);//lnj**lmj**jjj // 通过一个字符串生成一个数组
// 也叫做字符串切割
NSString *str1 = @"lnj**lmj**jjj";
NSArray *arr1 = [str1 componentsSeparatedByString:@"**"];
NSLog(@"arr = %@", arr1);//(lnj,lmj,jjj) return ;
}
// main.m
// NSArray文件读写 #import <Foundation/Foundation.h>
#import "Person.h" int main(int argc, const char * argv[]) {
// 1.将数组写入到文件中
NSArray *arr = @[@"lnj", @"lmj", @"jjj"];
// 其实如果将一个数组写入到文件中之后, 本质是写入了一个XML文件
// 在iOS开发中一般情况下我们会将XML文件的扩展名保存为plist,xcode打开, BOOL flag = [arr writeToFile:@"/Users/mctc/Desktop/a.txt" atomically:YES];
/*
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<string>lnj</string>
<string>lmj</string>
<string>jjj</string>
</array>
</plist>
*/
flag = [arr writeToFile:@"/Users/mctc/Desktop/a.plist" atomically:YES];
NSLog(@"flag = %i", flag); Person *p1 = [Person new];
p1.age = ; Person *p2 = [Person new];
p2.age = ; Person *p3 = [Person new];
p3.age = ; Person *p4 = [Person new];
p4.age = ; NSArray *arr1 = @[p1, p2, p3, p4];
// 注意:writeToFile只能写入数组中保存的元素都是Foundation框架中的类创建的对象, 如果保存的是自定义对象那么不能写入
BOOL flag1 = [arr1 writeToFile:@"/Users/mctc/Desktop/a.plist" atomically:YES];
NSLog(@"flag = %i", flag1); // 2.从文件中读取一个数组
NSArray *newArray = [NSArray arrayWithContentsOfFile:@"/Users/mctc/Desktop/a.plist"];
NSLog(@"%@", newArray);//(lnj,lmj,jjj) return ;
}
oc73--NSArray使用的更多相关文章
- 不可变数组NSArray
//数组里面不允许存放基本数据类型,只能存放“对象” NSArray *array = [NSArray arrayWithObjects:@"周星星",@"尹天仇&qu ...
- iOS NSArray数组过滤
需求:在一个数组里面,将在这个数组中的并且在另一个数组里面的元素过滤掉. 即:在一个数组dataArray里面,将在dataArray数组中的并且在filteredArray数组里面的元素过滤掉. / ...
- NSArray 倒序 输出
NSMutableArray *array = [NSMutableArray arrayWithObjects:@"1",@"2",@"3" ...
- Fouandation(NSString ,NSArray,NSDictionary,NSSet) 中常见的理解错误区
Fouandation 中常见的理解错误区 1.NSString //快速创建(实例和类方法) 存放的地址是 常量区 NSString * string1 = [NSString alloc]init ...
- 一段可以清理NSArray中的空对象的代码(递归)
- (NSArray *)clearAllNullObject{ NSMutableArray *array = [self mutableCopy]; ;i < array.count;i++ ...
- 一些NSArray,NSDictionary,NSSet相关的算法知识
iOS编程当中的几个集合类:NSArray,NSDictionary,NSSet以及对应的Mutable版本,应该所有人都用过.只是简单使用的话,相信没人会用错,但要做到高效(时间复杂度)精确(业务准 ...
- NSArray
版权声明:本文为博主原创文章,未经博主允许不得转载. 数组是一个元素有序.元素可重复的集合,在iOS编程中经常被用到,而Foundation框架提供了数组对象.数组对象包括不可修改的数组对象NSArr ...
- 如何删除NSDictionary或NSArray中的NSNull
前段时间与某公司的技术交流,被问到一个问题,如何删除NSDictionary中的NSNull.当时在纸上写,以前太依赖Xcode编译器了,以至于方法名都写不全,最终也没写出来,我想我肯定被鄙视的体无完 ...
- 放在NSArray、NSDictionary等容器内的对象Item,Item中的property在程序运行过程中被无故释放
可能是被释放的property本身是OC对象而它的属性被误写成assign,例如: @interface MyItem : Object @property (nonatomic, assign) N ...
- iOS 开发遇到的问题之(nil指针对NSDictionary及NSArray初始化的影响)
nil指针对NSDictionary及NSArray初始化的影响 最近在做项目的时候遇到一个挺坑的崩溃问题,是由于NSDictionary初始化时nil指针引起的崩溃.假设我们现在要初始化一个{key ...
随机推荐
- 删除链表中重复的结点_java
package algorithms; /* public class ListNode { int val; ListNode next = null; ListNode(int val) { th ...
- RabbitMQ系列(四)--消息如何保证可靠性传输以及幂等性
一.消息如何保证可靠性传输 1.1.可能出现消息丢失的情况 1.Producer在把Message发送Broker的过程中,因为网络问题等发生丢失,或者Message到了Broker,但是出了问题,没 ...
- SpringMVC接收多参数的处理方法
问题:依赖SpringMVC自带的机制解析多对象参数往往出现解析不了的问题,使用较为复杂. 解决思路:前端 JS 先把传递到后台的对象转换为 JSON 字符串,后台直接使用字符串类型接收,再使用 st ...
- 03JavaScript运算符与表达式
JavaScript运算符与表达式 2.5运算符与表达式 2.5.1赋值运算符 运算符 意义 运算符 意义 = x=5 /= x=x/y += x=x+y %= 求余赋值 -= x=x-y *= x= ...
- 牛客多校Round 8
Solved:2 rank:164 签了两个oeis,但这样真的开心嘛
- printf函数压栈(i++/i--,++i/--i) 终极解密
#include <stdio.h> void main() { ; printf("%d %d %d %d\n", i, --i, i, i--); } 输出是“3 ...
- Python学习第二阶段Day2(json/pickle)、 shelve、xml、PyYAML、configparser、hashlib模块
1.json/pickle 略. 2.shelve模块 import shelve # shelve 以key value的形式序列化,value为对象 class Foo(object): de ...
- python3连接mysql 稍微进阶 + 日期处理
1.踩了个操作中文的坑,结果发现之前的文章中有强调了,在连接处加:charset="utf8" conn = pymysql.connect(host = '127.0.0.1', ...
- LINUX-文件的权限 - 使用 "+" 设置权限,使用 "-" 用于取消
ls -lh 显示权限 ls /tmp | pr -T5 -W$COLUMNS 将终端划分成5栏显示 chmod ugo+rwx directory1 设置目录的所有人(u).群组(g)以及其他人(o ...
- Pygame游戏开发入门(1)-开发框架
pygame库的安装 pip install pygame pygame最小开发框架 #Pygame Hello World Game import pygame,sys #引入pygame和sys( ...