txt文档内容如:(颜色名称 #编号)
Almond #EED9C4
Antique Brass #C88A65
Apricot #FDD5B1
Aquamarine #71D9E2
Asparagus #7BA05B
Atomic Tangerine #FF9966
Banana Mania #FBE7B2
1.创建color类,实例变量包括颜色名称和编号
2.要求字典key值为26个字母,对应的value是一个动态的数组,数组中存放的都是color对象.
//初始化
- (id)init{
if (self = [superinit]) {
dictionary = [[NSMutableDictionaryalloc]initWithCapacity:0];
for (int i = 0; i < 26; i++) {
[dictionarysetObject:[[NSMutableArrayalloc] initWithCapacity:0]forKey: [NSStringstringWithFormat:@"%c", 'A' + i]];//为26个字母作为key对应的vlaue全部创建一个动态数组
}
}
return self;
}
//为字典内添加内容
- (void)addFileToDictionary{
//将文档的路径写成一个字符串,方便后面调用
NSString *path =@"/Users/lanoukeji/Desktop/ios/OC/11-21/11-21王海堑(操作文档)/11-21王海堑(操作文档)/crayons.txt";//文档路径必须是绝对路径而不能是相对路径
NSString *string = [NSStringstringWithContentsOfFile:path encoding:NSUTF8StringEncodingerror:0];//将文件的内容转变成一个字符串
NSArray *array = [string componentsSeparatedByString:@"\n"];//将文件通过换行符分隔成多个字符串
for (int i = 0; i < [arraycount]; i++) {
NSArray *array2 = [array[i] componentsSeparatedByString:@" #"];//将每个字符串再根据" #"分隔成两个字符串
for (int j = 0; j < 26; j++) {
if ([array2[0] hasPrefix:[NSStringstringWithFormat:@"%c", 'A' + j] ]) { //找出应该加的那个数组
NSMutableArray *array3 = [dictionaryobjectForKey:[NSStringstringWithFormat:@"%c", 'A' + j]];
[array3addObject:[ColorcolorWithName:array2[0] colorValue:array2[1]]];//为数组添加元素
}
}
}
}