从自定义对象数组中获取 属性 的逗号分隔字符串
Get comma separated string for a property from a array of custom object
我有一个自定义对象数组,其中的对象具有以下属性 optionID,OptionText
。我想为 optionID
属性 获取逗号分隔的字符串。在 iOS SDK
.
中执行此操作的最佳方法是什么
例如NSString CommaSeperted = @"1,3,5"
等等
NSArray 的类别:
@implementation NSArray(CustomAdditions)
- (NSString *)commaSeparatedStringWithSelector:(SEL)aSelector
{
NSMutableArray *objects = [NSMutableArray array];
for (id obj in self)
{
if ([obj respondsToSelector:aSelector]) {
IMP method = [obj methodForSelector:aSelector];
id (*func)(id, SEL) = (void *)method;
id customObj = func(obj, aSelector);
if (customObj && [customObj isKindOfClass:[NSString class]]) {
[objects addObject:customObj];
}
}
}
return [objects componentsJoinedByString:@","];
}
@end
示例:
@implementation NSDictionary(Test)
- (NSString*)optionID
{
return [self objectForKey:@"optionID"];
}
- (NSString*)OptionText
{
return [self objectForKey:@"OptionText"];
}
@end
NSArray *customObjects = @[@{@"optionID": @"id1", @"OptionText": @"text1" }, @{@"optionID" : @"id2", @"OptionText": @"text2"}];//List of Your custom objects
NSString *commaSeparatedOptionIDs = [customObjects commaSeparatedStringWithSelector:NSSelectorFromString(@"optionID")];
NSString *commaSeparatedOptionTexts = [customObjects commaSeparatedStringWithSelector:NSSelectorFromString(@"OptionText")];
试试这个
NSString *commaSeparatedStringOfID = @"";
for (CustomClass *object in yourArray){
commaSeparatedStringOfID = [commaSeparatedStringOfID stringByAppendingString:[NSString stringWithFormat:@"%@,"]];
}
// removing last comma
commaSeparatedStringOfID = [commaSeparatedStringOfID substringToIndex:[commaSeparatedStringOfID length]-1];
commaSeparatedStringOfID
将是您需要的字符串。
我有一个自定义对象数组,其中的对象具有以下属性 optionID,OptionText
。我想为 optionID
属性 获取逗号分隔的字符串。在 iOS SDK
.
例如NSString CommaSeperted = @"1,3,5"
等等
NSArray 的类别:
@implementation NSArray(CustomAdditions)
- (NSString *)commaSeparatedStringWithSelector:(SEL)aSelector
{
NSMutableArray *objects = [NSMutableArray array];
for (id obj in self)
{
if ([obj respondsToSelector:aSelector]) {
IMP method = [obj methodForSelector:aSelector];
id (*func)(id, SEL) = (void *)method;
id customObj = func(obj, aSelector);
if (customObj && [customObj isKindOfClass:[NSString class]]) {
[objects addObject:customObj];
}
}
}
return [objects componentsJoinedByString:@","];
}
@end
示例:
@implementation NSDictionary(Test)
- (NSString*)optionID
{
return [self objectForKey:@"optionID"];
}
- (NSString*)OptionText
{
return [self objectForKey:@"OptionText"];
}
@end
NSArray *customObjects = @[@{@"optionID": @"id1", @"OptionText": @"text1" }, @{@"optionID" : @"id2", @"OptionText": @"text2"}];//List of Your custom objects
NSString *commaSeparatedOptionIDs = [customObjects commaSeparatedStringWithSelector:NSSelectorFromString(@"optionID")];
NSString *commaSeparatedOptionTexts = [customObjects commaSeparatedStringWithSelector:NSSelectorFromString(@"OptionText")];
试试这个
NSString *commaSeparatedStringOfID = @"";
for (CustomClass *object in yourArray){
commaSeparatedStringOfID = [commaSeparatedStringOfID stringByAppendingString:[NSString stringWithFormat:@"%@,"]];
}
// removing last comma
commaSeparatedStringOfID = [commaSeparatedStringOfID substringToIndex:[commaSeparatedStringOfID length]-1];
commaSeparatedStringOfID
将是您需要的字符串。