我是iOS的新手,我面临着在这个循环中获得更多一个数组的问题
for (NSString *strDevice in Array1) {
NSLog(@"Print Your Data = %@",strDevice);
//Send this strDevice to server in loop one by one.
}
此循环仅转换字符串中的一个数组,我无法访问此循环外的字符串。 我有9个阵列
Array1 = [devices valueForKey:@"key1"];
Array2 = [devices valueForKey:@"key2"];
Array3 = [devices valueForKey:@"key3"];
Array4 = [devices valueForKey:@"key4"];
Array5 = [devices valueForKey:@"key5"];
Array6 = [devices valueForKey:@"key6"];
Array7 = [devices valueForKey:@"key7"];
Array8 = [devices valueForKey:@"key8"];
Array9 = [devices valueForKey:@"key9"];
我需要使用这个循环将所有数组转换为9个不同的字符串是否可能?如何在9个不同的字符串中转换9个不同的数组。
注意 - 来自核心数据的设备为NSMutableArray
,其类型为NSString
。
提前致谢!
答案 0 :(得分:1)
如果devices
来自Core Data,则不能包含NSString
。它是NSManagedObject
或NSDictionary
。我想这是NSManagedObject
。
在这种情况下,更适合在循环中使用NSManagedObject
作为对象并分别获取九个键的值:
for (NSManagedObject *object in devices) {
NSSString *string1 = [object valueForKey:@"key1"];
NSSString *string2 = [object valueForKey:@"key2"];
NSSString *string3 = [object valueForKey:@"key3"];
NSSString *string4 = [object valueForKey:@"key4"];
NSSString *string5 = [object valueForKey:@"key5"];
NSSString *string6 = [object valueForKey:@"key6"];
NSSString *string7 = [object valueForKey:@"key7"];
NSSString *string8 = [object valueForKey:@"key8"];
NSSString *string9 = [object valueForKey:@"key9"];
// use the strings
}
另一种方法是使用Core Data中的NSDictionary
数组而不是NSManagedObject
答案 1 :(得分:0)
我猜你需要这个(至少你的问题) -
// Preparation
NSArray *array1 = @[@"one", @"two"];
NSArray *array2 = @[@"three", @"four"];
NSArray *devices = @[array1,array2];
// Real work
for (NSArray *array in devices) {
for (NSString *strDevice in array) {
NSLog(@"Print Your Data = %@",strDevice);
//Send to ur server or do anything you want
}
}