gpt4 book ai didi

ios - NSMutableArray 或 NSMutableDictionary : which is best for this scenario?

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

我需要滚动浏览数千个单词来对它们进行分类...以确定哪些单词具有相同的模式。 (这部分有效)例如,一个四字母单词在第 2 和第 4 个位置有两个 m 表示一个模式(“-m-m”)。一旦我完成了所有的单词,我就会知道任何给定的模式有多少个单词。我现在正在滚动浏览,但我遇到的问题是“记住”在任何给定模式中我有多少个单词。

我正在考虑使用 NSMutableDictionary 并将键作为模式 ('-m-m-'),对象代表该模式的计数。这意味着每次我遇到一个模式时,我都会在字典中查找该模式,获取键,递增键,然后将其放回字典中。

我需要有关执行此任务的决策和语法方面的帮助。

谢谢

最佳答案

您问题的答案是您(给定的)问题的这一部分“我将知道任何给定模式有多少个单词。”。我会使用一组字典。您使用字典来存储键值对:已知模式和计数。并且您使用数组来存储那些 KVP 记录。因此,下次您检测到模式时,搜索该记录(字典)的数组,如果找到,则增加计数。如果不是,则创建新记录并将计数设置为 1。

添加示例代码:

#define kPattern @"Pattern"
#define kPatternCount @"PatternCount"

-(NSMutableDictionary *)createANewDictionaryRecord:(NSString *) newPattern
{
int count = 1;
NSMutableDictionary *myDictionary = [NSMutableDictionary dictionaryWithObjectsAndKeys:
newPattern, kPattern,
[NSString stringWithFormat:@"%i",count], kPatternCount,
nil];
return myDictionary;
}

-(void)addANewPatternToArray:(NSMutableDictionary *)newDictionary
{
// NSMutableArray *myArrayOfDictionary = [[NSMutableArray alloc]init]; // you need to define it somewhere else and use property etc.
[self.myArrayOfDictionary addObject:newDictionary]; //or [self.myArrayOfDictionary addObject:newDictionary]; if you follow the recommendation above.
}

-(BOOL)existingPatternLookup:(NSString *)pattern
{
for (NSMutableDictionary *obj in self.myArrayOfDictionary)
{
if ([[obj objectForKey:kPattern] isEqual:pattern])
{
int count = [[obj objectForKey:kPatternCount] intValue] + 1;
[obj setValue:[NSString stringWithFormat:@"%i",count] forKey:kPatternCount];
return YES;
}
}
[self.myArrayOfDictionary addObject:[self createANewDictionaryRecord:pattern]];
return NO;
}

-(void)testData
{
NSMutableDictionary *newDict = [self createANewDictionaryRecord:@"mmm"];
[self addANewPatternToArray:newDict];
}

-(void) printArray
{
for (NSMutableDictionary * obj in self.myArrayOfDictionary)
{
NSLog(@"mydictionary: %@", obj);
}
}

- (IBAction)buttonPressed:(id)sender
{
if ([self existingPatternLookup:@"abc"])
{
[self printArray];
} else
{
[self printArray];
}
}

关于ios - NSMutableArray 或 NSMutableDictionary : which is best for this scenario?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10182056/

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