gpt4 book ai didi

ios - 如何在 NSArray 中创建 NSDictionary 以及如何在 ios 中访问它们

转载 作者:行者123 更新时间:2023-11-29 12:04:15 25 4
gpt4 key购买 nike

我是 iOS 新手,想创建一个像这样的包含 NSDictionaryNSArray

[
{
Image: 1, 2,3
Title: 1,2,3
Subtitle:1,2,3
}
]

我试过了。

NSArray *obj-image=@[@"Test.png",@"Test.png",@"Test.png"];
NSArray *obj-title=@[@"Test",@"Test",@"Test"];
NSArray *obj-subtitle=@[@"Test",@"Test",@"Test"];
NSDictionary * obj_dictionary ={ image : obj_image, title:obj_title, subtitle:obj_subtitle}
NSArray * obj_array= [obj_dictionarry];

但不工作以及如何访问它们。

最佳答案

首先,你对Arrays和Dictionaries的初始化是错误的。不能在名称、句点中使用“-”。

其次,您需要分配然后初始化对象。这就是你如何处理数组:

NSArray *images = [NSArray arrayWithObjects: @"TestImage",@"TestImage",@"TestImage",nil];
NSArray *titles = [NSArray arrayWithObjects: @"TestTitle",@"TestTitle",@"TestTitle",nil];
NSArray *subtitles = [NSArray arrayWithObjects: @"TestSubTitle",@"TestSubTitle",@"TestSubTitle",nil];

然后你需要可变字典和可变数组来处理数据(可变意味着你可以改变里面的值,添加或删除对象等)

这是您要实现的最基本示例:

NSArray *images = [NSArray arrayWithObjects: @"TestImage",@"TestImage",@"TestImage",nil];
NSArray *titles = [NSArray arrayWithObjects: @"TestTitle",@"TestTitle",@"TestTitle",nil];
NSArray *subtitles = [NSArray arrayWithObjects: @"TestSubTitle",@"TestSubTitle",@"TestSubTitle",nil];

NSMutableArray *objectsMutable = [[NSMutableArray alloc] init];

for (NSString *string in images) {

NSMutableDictionary *dictMutable = [[NSMutableDictionary alloc] init];
[dictMutable setObject:string forKey:@"image"];

//determining the index of the image
NSInteger stringIndex = [images indexOfObject:string];

[dictMutable setObject:[titles objectAtIndex:stringIndex] forKey:@"title"];
[dictMutable setObject:[subtitles objectAtIndex:stringIndex] forKey:@"subtitle"];

NSDictionary *dict = [[NSDictionary alloc] init];
dict = dictMutable;

[objectsMutable addObject:dict];
}

NSArray *objects = objectsMutable;

NSLog(@"%@", objects);

希望这对您有所帮助。

如您所见,我遍历图像数组,捕获每个图像的索引,然后将同一索引中其他数组的值应用到可变字典中。

之后我所做的只是创建一个常规字典和数组来将数据放入其中。这是日志的外观:

(
{
image = TestImage;
subtitle = TestSubTitle;
title = TestTitle;
},
{
image = TestImage;
subtitle = TestSubTitle;
title = TestTitle;
},
{
image = TestImage;
subtitle = TestSubTitle;
title = TestTitle;
}

)

您有一个包含三个对象的数组,每个对象都有自己的图像、标题和副标题。

关于ios - 如何在 NSArray 中创建 NSDictionary 以及如何在 ios 中访问它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35624193/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com