如何使用 for 循环在 NSString 中获取多个 NSArray 对象并将该对象一一发送?

How to get more than one NSArray object in NSString using for loop and send that object one by one?

我是 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

提前致谢!

如果 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

我猜你需要这个(至少从你的问题来看)-

// 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
    }
}