0

我试图获取用户在应用程序中保存的所有元素(这可能很容易),从每条记录中获取一个属性并将这些属性列在一个字符串中(这就是问题所在)。我该怎么做?我写了一些东西,但我认为这不是正确的方法。请帮帮我!

 -(NSString*)getAllRecords
{
    NSArray* arra = [NewItem MR_findAllSortedBy:@"data" ascending:YES];
    NewItem* ctn = arra.;// I have not any idea

    return [NSString stringWithFormat:@"%@", [arra componentsJoinedByString:@", "]];

}
4

2 回答 2

2

更多代码,但是:

NSFetchRequest *request = [NewItem MR_requestAllSortedBy:@"data" ascending:YES];
[request setResultType:NSDictionaryResultType];
[request setPropertiesToFetch:@[@"attributeName"];
NSArray *results = [NewItem MR_exceuteRequest:request];

NSArray *listOfValuesOfAttributeName = [results valueForKeyPath:@"@unionOfObjects.attributeName"];

最后,listOfValuesOfAttributeName基本上将是您所追求的值的单个数组。这类似于以下 sql “从 NewItem 中选择属性名称”。

需要最后一次valueForKeyPath:调用,因为返回的结果是字典列表。你想要的是一个值列表。@unionOfObjectskeypath 运算符会为您清理这些内容。

于 2013-08-19T19:30:31.137 回答
1

如果我正确理解您的问题,这应该可以满足您的要求:

NSArray *elements = [NewItem MR_findAllSortedBy:@"data" ascending:YES];
NSArray *attributes = [elements valueForKey:@"attributeName"];
return [NSString stringWithFormat:@"%@", [attributes componentsJoinedByString:@", "]];

应用于valueForKey:key数组会返回一个数组,其中包含valueForKey:key对每个数组对象的调用结果。

于 2013-08-19T19:15:43.143 回答