我有一个非常有趣但很难有趣的问题。
我有一个名为 alpha 的字符串。
alpha= @"pie"
我有 3 个数组被添加到一个名为“ALL WORDS”的主数组中
array 1 = [nsarray alloc]initwithobjects @"cake", @"donut"];
array 2 = [nsarray alloc]initwithobjects @"cream", @"pie"];
array 3 = [nsarray alloc]initwithobjects @"rice", @"flour"];
allwords = [NSMutableArray array];
[allwords addObjectsFromArray:array1];
[allwords addObjectsFromArray:array2];
[allwords addObjectsFromArray:array3];
所以现在我正在做这样的for循环
for (int i = 0; i < [allWords count]; i++)
{
NSString *takestring =[allWords objectAtIndex:i];
if ( [takestring is equal to alpha]) {
//tell which array alpha or takestring came from????
}
}
我的问题是,如何确定饼图来自哪个数组。在应用程序中,人们可能有我可能不知道的新词,但我希望能够检测到该字符串来自哪个数组?
有人知道我该怎么做吗?
最佳答案
根据您的描述,您不应该合并数组。相反,你应该使用类似下面的东西。
@interface aViewController ()
@property (nonatomic, strong) NSMutableArray *allwords;
@end
@implementation aViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
NSArray *array1 = [[NSArray alloc] initWithObjects:@"cake",@"donut", nil];
NSArray *array2 = [[NSArray alloc] initWithObjects:@"cream", @"pie", nil];
NSArray *array3 = [[NSArray alloc] initWithObjects:@"rice", @"flour", nil];
self.allwords = [[NSMutableArray alloc] initWithObjects:array1, array2, array3, nil];
[self findMyArray:self.allwords];
}
- (void) findMyArray:(id)array {
if ([array isKindOfClass:[NSArray class]] || [array isKindOfClass:[NSMutableArray class]]) {
for (NSArray *temp in array) {
for (NSString *str in temp) {
if ([str isEqualToString:@"pie"]) { // define @"pie" as per your requirement
NSLog(@"THE ARRAY WHICH CONTAIN PIE IS %@", temp);
}
}
}
}
}
@end
使用它你可以简单地找到包含特定字符串的数组
关于ios - 在主数组的数组中查找 NSString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31419730/