如何使用 for 循环在 NSString 中获取多个 NSArray 对象并一一发送该对象?
Posted
技术标签:
【中文标题】如何使用 for 循环在 NSString 中获取多个 NSArray 对象并一一发送该对象?【英文标题】:How to get more than one NSArray object in NSString using for loop and send that object one by one? 【发布时间】:2016-12-16 09:13:01 【问题描述】:我是 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
是什么类型,什么类型包含它?
@vadian 是 NSMutableArray。它的数据来自核心数据。
请添加一个具体示例其中一行返回什么以及预期结果是什么。
@vadian 我想以字符串格式一个一个发送数组元素。
为什么不试试嵌套循环呢?似乎没有那么难。尝试一次,然后寻求帮助。
【参考方案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
【讨论】:
【参考方案2】:我猜你需要这个(至少从你的问题来看)-
// 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
【讨论】:
告诉我你是否只想要这种方式。如果您更详细地解释您的问题,那么我们可以为您提供更多帮助。以上是关于如何使用 for 循环在 NSString 中获取多个 NSArray 对象并一一发送该对象?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 for 循环中使用动态键值从 JSON 数组获取值?科特林