关于颜色的txt文档管理(Objective-C)

main函数:

//

//  main.m

//  ColorManage

//

//  Created by 王佳兴 on 14-11-6.

//  Copyright (c) 2014 lanou3g.com 蓝鸥科技. All rights reserved.

//


#import <Foundation/Foundation.h>

#import "Color.h"

#import "Manage.h"

int main(int argc, const char * argv[]) {

/*题目要求: 处理⼯工程⽂文件crayons.txt中的⽂文本信息,⽂文本内容是关于颜⾊色的,每⾏行都是⼀一 个颜⾊色的信息,例如:Almond #EED9C4,前⼀一个字符串是颜⾊色的名称,后⼀一 个字符串是颜⾊色的16进制⾊色值,处理⽂文本完成如下需求*/

    

// (1) *************************************************************************

// 使⽤用字典管理所有的颜⾊色,即字典中存储的是多个键值对,颜⾊色名称为 key,16进制颜⾊色值(不带#)value___________________________________________________________________

    

    //读取文件路径,定义字符串接收地址

    NSString *path = @"/Users/dlios/Desktop/Objective-C/ColorManage/ColorManage/crayons.txt";

    

    //定义一个字符串通过地址来接收文件内容

    NSString *sourceStr = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];


    //用换行来分割字符串存储到数组arr

    NSArray *arr = [sourceStr componentsSeparatedByString:@"\n"];

    

    //打印数组,检验对错

    NSLog(@"%@", arr);

    

    //定义一个数组arr1来存储数组arr#号分割后的小字符串

    NSMutableArray *arr1 = [NSMutableArray array];

       //循环用#对数组arr中每个小字符串进行分割

       for (int i = 0; i < [arr count]; i++) {

       //定义一个数组来存储对每次对arr进行分割操作后截取的两段小字符串

       NSArray  *arr2 = [arr[i] componentsSeparatedByString:@" #"];

           //将每次得到的小数组arr2依次添加到大数组arr1

           [arr1 addObjectsFromArray:arr2];

    }

    //打印arr1

    NSLog(@"%@", arr1);

    

    

// (2) *************************************************************************

// 取出所有的key,升序排列__________________________________________________________

    

    //定义可变数组array1用来存储后面字典的key

    NSMutableArray *array1 = [NSMutableArray array];

    //定义可变数组array1用来存储后面字典的value

    NSMutableArray *array2 = [NSMutableArray array];

    //循环 偶数为颜色的名字是key 奇数为颜色的编码是value

    for (int i = 0; i < [arr1 count]; i++) {

        if ((i + 2) % 2 == 0) {

            [array1 addObject:arr1[i]];

        }else{

            [array2 addObject:arr1[i]];

        }

    }

    //创建字典 存储对应的key-value key为颜色名 value为颜色编码

    NSMutableDictionary *colorDic = [NSMutableDictionary dictionaryWithObjects:array2 forKeys:array1];

    //打印字典

    NSLog(@"%@", colorDic);

    //取出字典中的key

    NSArray *arrKey = [colorDic allKeys];

    

    //对字典中的key排序 *用方法选择器选择排序方法

    NSArray *arr4 = [arrKey sortedArrayUsingSelector:@selector(compare:)];

    //打印排序后的数组

    NSLog(@"%@", arr4);

    

    

// (3) *************************************************************************

// 取出所有的value,按照排序后的key排列______________________________________________

    

    //定义数组存储所有的value

    NSMutableArray *arr5 = [NSMutableArray array];

    //取出所有value

    for (NSString *key in arr4) {

        //定义字符串 按照arr4中排序号的key把每次循环得出的value赋值到字符串qqq

        NSString *qqq = [colorDic objectForKey:key];

        //把得出的value添加到数组arr5

        [arr5 addObject:qqq];

    }

    //按照数组arr4排序好的key打印存有所有value的数组arr5

    NSLog(@"%@", arr5);


    

// (4) *************************************************************************

// 使⽤用⼀一个新的字典管理颜⾊色,对颜⾊色进⾏行分类管理,:“A”,“B”,“C”... 即这个字典包含多个键值对,key26个字⺟母,value是数组,数组⾥里存放的是 Color对象(包含namecolorValue)。需要⾃自⼰己创建Color-------------------------------------------

    

    //初始化manage类中的一个对象

    Manage *colorDictionary = [[Manage alloc] init];

    //定义一个manage中类型的可变字典存储最后大写字母和分组后的颜色组成的大字典

    NSMutableDictionary *dic = [colorDictionary colorDictionary];

    //打印字典 检验是否字典在类中是否定义正确

    NSLog(@"%@", dic);

    

    for (NSString *key in colorDic) {

        //定义一个Color类的对象, 此对象为字典类型,通过在管理类中写好的字典的方法,通过字典的key(大写字母)循环依次给color赋值

        Color *color = [[Color alloc] initWithName:key colorValue:[colorDic objectForKey:key]];

        //通过colorkey的首字母找出字典中应该存入的数组,"="后面为通过对象colorname的首字母找到大字典中对应的数组

        NSMutableArray *arrayM1 = [dic valueForKey:[color.name substringToIndex:1]];

        //给通过判断选择后的数组依次添加与分组名key(大写字母)相对应的对象

        [arrayM1 addObject:color];

    }

    

    //打印最后结果,分组之后的字典

    NSLog(@"%@", dic);


    return 0;

}


Color类:


//

//  Color.h

//  ColorManage

//

//  Created by 王佳兴 on 14-11-7.

//  Copyright (c) 2014 lanou3g.com 蓝鸥科技. All rights reserved.

//


#import <Foundation/Foundation.h>


@interface Color : NSObject

{

    NSString *_name;

    NSString *_colorValue;

}


- (id)initWithName:(NSString *)name colorValue:(NSString *)colorValue;


- (void)setName:()name;


- (NSString *)name;


- (void)setColorValue:()colorValue;


- (NSString *)colorValue;




@end


Color实现:


//

//  Color.m

//  ColorManage

//

//  Created by 王佳兴 on 14-11-7.

//  Copyright (c) 2014 lanou3g.com 蓝鸥科技. All rights reserved.

//


#import "Color.h"


@implementation Color


- (id)initWithName:(NSString *)name colorValue:(NSString *)colorValue

{

    self = [super init];

    

    if (self != nil) {

        _name = name;

        _colorValue = colorValue;

    }

    return self;

}


- (void)setName:()name

{

    _name = name;

}


- (NSString *)name

{

    return _name;

}


- (void)setColorValue:()colorValue

{

    _colorValue = colorValue;

}


- (NSString *)colorValue

{

    return _colorValue;

}


-(NSString *)description

{

    return [NSString stringWithFormat:@"name:%@ colorValue:%@", _name, _colorValue];

}



@end


Manage类:


//

//  Manage.h

//  ColorManage

//

//  Created by 王佳兴 on 14-11-7.

//  Copyright (c) 2014 lanou3g.com 蓝鸥科技. All rights reserved.

//


#import <Foundation/Foundation.h>


@interface Manage : NSObject

{

    NSMutableDictionary *colorDictionary;

}

- (NSMutableDictionary *)colorDictionary;



@end


Manage实现:


//

//  Manage.m

//  ColorManage

//

//  Created by 王佳兴 on 14-11-7.

//  Copyright (c) 2014 lanou3g.com 蓝鸥科技. All rights reserved.

//


#import "Manage.h"


@implementation Manage

- (id)init

{

    self = [super init];

    if (self != nil) {

       

        colorDictionary = [[NSMutableDictionary alloc] init];

        

        [self groupDic];

    }

    return self;

}


- (void)groupDic

{

    NSArray *groupNames = [NSArray arrayWithObjects:@"A", @"B", @"C", @"D", @"E", @"F", @"G", @"H", @"I", @"J", @"K", @"L", @"M", @"N", @"O", @"P", @"Q", @"R", @"S", @"T", @"U", @"V", @"W", @"X", @"Y", @"Z",nil];

    

    for (NSString *group in groupNames) {

        

        NSMutableArray *arr = [NSMutableArray array];

        

        [colorDictionary setObject:arr forKey:group];

    }

}


- (NSMutableDictionary *)colorDictionary

{

    return colorDictionary;

}




@end



文件:


Almond #EED9C4

Antique Brass #C88A65

Apricot #FDD5B1

Aquamarine #71D9E2

Asparagus #7BA05B

Atomic Tangerine #FF9966

Banana Mania #FBE7B2

Beaver #926F5B

Bittersweet #FE6F5E

Black #000000

Blizzard Blue #A3E3ED

Blue #0066FF

Blue Bell #9999CC

Blue Green #0095B6

Blue Violet #6456B7

Brick Red #C62D42

Brink Pink #FB607F

Brown #AF593E

Burnt Orange #FF7034

Burnt Sienna #E97451

Cadet Blue #A9B2C3

Canary #FFFF99

Caribbean Green #00CC99

Carnation Pink #FFA6C9

Cerise #DA3287

Cerulean #02A4D3

Chartreuse #FF9966

Chestnut #B94E48

Copper #DA8A67

Cornflower #93CCEA

Cotton Candy #FFB7D5

Cranberry #DB5079

Dandelion #FED85D

Denim #1560BD

Desert Sand #EDC9AF

Eggplant #614051

Electric Lime #CCFF00

Fern #63B76C

Flesh #FFCBA4

Forest Green #5FA777

Fuchsia #C154C1

Fuzzy Wuzzy Brown #C45655

Gold #E6BE8A

Goldenrod #FCD667

Granny Smith Apple #9DE093

Gray #8B8680

Green #01A368

Green Yellow #F1E788

Happy Ever After #6CDA37

Hot Magenta #FF00CC

Inch Worm #B0E313

Indian Red #B94E48

Indigo #4F69C6

Jazzberry Jam #A50B5E

Jungle Green #29AB87

Laser Lemon #FFFF66

Lavender #FBAED2

Macaroni And Cheese #FFB97B

Magenta #F653A6

Magic Mint #AAF0D1

Mahogany #CA3435

Manatee #8D90A1

Mango Tango #E77200

Maroon #C32148

Mauvelous #F091A9

Melon #FEBAAD

Midnight Blue #003366

Mountain Meadow #1AB385

Mulberry #C54B8C

Navy Blue #0066CC

Neon Carrot #FF9933

Olive Green #B5B35C

Orange #FF681F

Orchid #E29CD2

Outer Space #2D383A

Outrageous Orange #FF6037

Pacific Blue #009DC4

Peach #FFCBA4

Periwinkle #C3CDE6

Pig Pink #FDD7E4

Pine Green #01796F

Pink Flamingo #FF66FF

Plum #843179

Prussian Blue #003366

Purple Heart #652DC1

Purple Mountain's Majesty #9678B6

Purple Pizzazz #FF00CC

Radical Red #FF355E

Raw Sienna #D27D46

Razzle Dazzle Rose #FF33CC

Razzmatazz #E30B5C

Red #ED0A3F

Red Orange #FF3F34

Red Violet #BB3385

Robin's Egg Blue #00CCCC

Royal Purple #6B3FA0

Salmon #FF91A4

Scarlet #FD0E35

Screamin' Green #66FF66

Sea Green #93DFB8

Sepia #9E5B40

Shadow #837050

Shamrock #33CC99

Shocking Pink #FF6FFF

Silver #C9C0BB

Sky Blue #76D7EA

Spring Green #ECEBBD

Sunglow #FFCC33

Sunset Orange #FE4C40

Tan #FA9D5A

Tickle Me Pink #FC80A5

Timberwolf #D9D6CF

Torch Red #FD0E35

Tropical Rain Forest #00755E

Tumbleweed #DEA681

Turquoise Blue #6CDAE7

Ultra Green #66FF66

Ultra Orange #FF6037

Ultra Pink #FF6FFF

Ultra Red #FD5B78

Ultra Yellow #FFFF66

Unmellow Yellow #FFFF66

Violet (purple) #8359A3

Violet Red #F7468A

Vivid Tangerine #FF9980

Vivid Violet #803790

White #FFFFFF

Wild Blue Yonder #7A89B8

Wild Strawberry #FF3399

Wild Watermelon #FD5B78

Wisteria #C9A0DC

Yellow #FBE870

Yellow Green #C5E17A

Yellow Orange #FFAE42


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Objective-C中,可以使用UIKit框架中的UIView、UILabel、UIButton等控件来设计UI界面。以下是一个简单的示例,展示如何使用代码创建一个带有标签和按钮的视图: ```objective-c // 创建一个视图 UIView *myView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)]; myView.backgroundColor = [UIColor whiteColor]; // 创建一个标签 UILabel *myLabel = [[UILabel alloc] initWithFrame:CGRectMake(20, 20, 280, 30)]; myLabel.text = @"Hello, World!"; myLabel.textColor = [UIColor blackColor]; myLabel.font = [UIFont systemFontOfSize:18]; // 创建一个按钮 UIButton *myButton = [[UIButton alloc] initWithFrame:CGRectMake(20, 60, 100, 30)]; [myButton setTitle:@"点击" forState:UIControlStateNormal]; [myButton setTitleColor:[UIColor blueColor] forState:UIControlStateNormal]; [myButton addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside]; // 将标签和按钮添加到视图中 [myView addSubview:myLabel]; [myView addSubview:myButton]; // 显示视图 [self.view addSubview:myView]; ``` 在这个示例中,我们首先创建了一个UIView对象,并为其设置了背景色。然后,我们创建了一个UILabel对象和一个UIButton对象,并设置它们的位置、文本、颜色和字体等属性。最后,我们将标签和按钮添加到视图中,并将视图添加到当前视图控制器的视图层次结构中,从而显示出来。 需要注意的是,不同的控件有不同的属性和方法,具体的使用方法可以参考苹果官方文档或其他开发者的经验。同时,也可以使用Interface Builder等可视化工具来设计UI界面。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值