如何在objective-c/UIKit中创建一种多维关联数组?
问题:我有一组图像,比如说5张。在我的上下文中有一个定义“图像对象”的结构 每个这样的图像对象都有以下信息:如何在objective-c/UIKit中创建一种多维关联数组?,objective-c,iphone,Objective C,Iphone,问题:我有一组图像,比如说5张。在我的上下文中有一个定义“图像对象”的结构 每个这样的图像对象都有以下信息: 图像文件的名称(即“myImage.png”) xOffsetPx yOffsetPx 宽度 高度 图像应该显示在视图中非常特定的位置,因此我需要将所有这些信息存储在某种多维关联数组(或类似数组)中。图像的名称将是键或ID 一个月前,我在1000页的objective-c书中偶然发现了类似的东西,但现在再也找不到了。有什么想法吗?除非我完全误解了这个问题-为什么不从这些属性中创建一个
- 图像文件的名称(即“myImage.png”)
- xOffsetPx
- yOffsetPx
- 宽度
- 高度
一个月前,我在1000页的objective-c书中偶然发现了类似的东西,但现在再也找不到了。有什么想法吗?除非我完全误解了这个问题-为什么不从这些属性中创建一个实际的对象(或结构),并将其作为值存储在字典中?除非我完全误解了这个问题-为什么不创建一个实际的对象(或结构)从这些属性中提取并将其作为值存储在字典中?最简单的方法是只使用字典:
NSMutableDictionary *images;
NSDictionary *myPictureAttributes = [NSDictionary dictionaryWithObjects:
[NSArray arrayWithObjects:[NSNumber numberWithFloat:30],
[NSNumber numberWithFloat:10],
[NSNumber numberWithFloat:15],
[NSNumber numberWithFloat:15], nil],
forKeys:[NSArray arrayWithObjects:@"xOffsetPx",
@"yOffsetPx",
@"width",
@"height", nil]];
[images setObject:myPictureAttributes forKey:@"myImage.png"];
您可能希望属性是某种常量,以便编译器在出现拼写错误时向您发出警告。您还可以拥有一个简单的数据对象类,其中包含一些属性,然后设置这些属性并将对象直接添加到字典中。根据您的具体要求,还有许多其他方法可以解决此问题,但NSDictionary是Cocoa中用于关联数组的基本集合类。最简单的方法是只使用字典:
NSMutableDictionary *images;
NSDictionary *myPictureAttributes = [NSDictionary dictionaryWithObjects:
[NSArray arrayWithObjects:[NSNumber numberWithFloat:30],
[NSNumber numberWithFloat:10],
[NSNumber numberWithFloat:15],
[NSNumber numberWithFloat:15], nil],
forKeys:[NSArray arrayWithObjects:@"xOffsetPx",
@"yOffsetPx",
@"width",
@"height", nil]];
[images setObject:myPictureAttributes forKey:@"myImage.png"];
您可能希望属性是某种常量,以便编译器在出现拼写错误时向您发出警告。您还可以拥有一个简单的数据对象类,其中包含一些属性,然后设置这些属性并将对象直接添加到字典中。根据您的具体需求,还有许多其他方法可以解决此问题,但NSDictionary是Cocoa中关联数组的基本集合类