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 - 1, 1)];  //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 0;
}
//  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 = 10;

    Person *p2 = [Person new];
    p2.age = 20;

    Person *p3 = [Person new];
    p3.age = 5;

    Person *p4 = [Person new];
    p4.age = 7;

    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 0;
}
时间: 2024-08-13 20:00:20

oc73--NSArray使用的相关文章

继承NSString,NSArray 怎么写

今天在进行一个字符串测试的时候,自定义了一个继承自NSString的类,但是出现了一些问题,查阅官方文档后得到了下面这些结论 在Objective-C中,对于NSString.NSArray等一些系统的基础类,苹果公司不推荐继承创建新类的,要想给它们扩展功能只能给它们添加新的categroy(类目). 但是直接继承的话,也是可行的,只是会出现各种问题 以NSString为例 首先,创建一个NSString的子类 BFString,不添加任何方法和属性 直接创建一个BFString的实例对象,是没

NSArray利用Cocoa框架进行汉字排序

NSArray利用Cocoa框架进行汉字排序 在NSString有一个函数localizedCompare:,它的功能是通过自身与给定字符串的比較,返回一个本地化的比較结果.也就是说这个函数是支持汉字比較的. Student.h @interface Student : NSObject @property(nonatomic,copy)NSString *stuName; @property(nonatomic,assign)CGFloat stuScore; @property(nonato

iOS开发——NSArray中的字典排序

手头上碰到一个项目,需要给数组中的字典中的一个字段排序,想了想,干脆再字典中增加一个字段,用来记录需要排序字段的第一个字符,用它来作为比较的对象,进行排序. - (void)viewDidLoad { [super viewDidLoad]; NSArray *arr = @[@{@"sortKey":@"54"},@{@"sortKey":@"67"},@{@"sortKey":@"78&quo

iOS - 数组(NSArray)

1. 数组的常用处理方式 //--------------------不可变数组 //1.数组的创建 NSString *s1 = @"zhangsan"; NSString *s2 = @"lisi"; NSString *s3 = @"wangwu"; //(1) NSArray *array1 = [[NSArray alloc] initWithObjects:s1,s2,s3, nil]; NSLog(@"%@",a

iOS - 数组与字典(NSArray &amp; NSDictionary)

1. 数组的常用处理方式 //--------------------不可变数组 //1.数组的创建 NSString *s1 = @"zhangsan"; NSString *s2 = @"lisi"; NSString *s3 = @"wangwu"; //(1) NSArray *array1 = [[NSArray alloc] initWithObjects:s1,s2,s3, nil]; NSLog(@"%@",a

[BS-14] 打印NSArray和NSDictionary的3种方法

打印NSArray和NSDictionary的3种方法 NSArray *arr = @[@"奔驰",@"宝马",@"路虎",@"Tesla"]; //1.直接打印 NSLog(@"arr:%@",arr); //2.使用for...in遍历 for (NSString *str in arr) { NSLog(@"%@",str); } //3.使用枚举遍历 [arr enumerat

IOS开发-ObjC-NSArray

OC中数组分不可变数组(NSArray)和可变数组(NSMutableArray). 不可变数组: 1 //------------------------------不可变数组---------------------------------- 2 3 // 创建一个不可变数组 4 5 NSNumber *number = [NSNumber numberWithInt:12]; 6 7 NSArray * arr= [NSArray arrayWithObjects:@"china"

将一个字典内的内value转换为集合:返回一个数组,此数组中包含输入字典的键值对中的数组的所有元素(为NSArray添加category)

- (NSArray *)testa:(NSDictionary *)dic { NSMutableArray *arr_M = [NSMutableArray array]; // 1.遍历每一个元素添加到集合 for (NSString *key in dic.allKeys) { for (NSString *str in dic[key]) { [arr_M addObject:str]; } } return arr_M; } - (NSArray *)testb:(NSDiction

Objective - C NSArray不可变数组和NSMutableArray可变数组

OC中存储数据最常用 的两个容器就是数组和字典,而作为最常用的,应该了解这所有的特点,及用法. OC中的数组是一个容量,有序的管理了一系列元素,并且存放在数组里的元素,必须是对象类型. 不可变数组,见名知意,不可改变的,只要创建成功之后都不能改变数组容量,元素. 创建一个不可变数组对象 //1.初始化方法(多个对象用逗号隔开,并且最后一个对象与nil之间也要有逗号) NSArray *array1 = [[NSArray alloc] initWithObjects:@"zhonger"

NSBundle、NSArray、NSDictionay

读取plist文件 NSDictionary  *dict= [NSDictionary dictionaryWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"fileName" ofType:@"plist"]]; NSArray*arr=[NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"