выберите количество (*) в iPhone от SimpleDB - PullRequest
0 голосов
/ 18 ноября 2011

Я хочу вернуть количество товаров в этом домене.Я знаю, count (*) возвращает один элемент с именем Domain с атрибутом Count.Как я могу получить значение графа?

@try {
    SimpleDBSelectRequest  *selectRequest2  = [[SimpleDBSelectRequest alloc] initWithSelectExpression:@"select count(*) from %@"];
    SimpleDBSelectResponse *selectResponse = [[AmazonClientManager sdb] select:selectRequest2];

    for (SimpleDBItem *item in selectResponse.items) {
    if ( [item.name isEqualToString:@"Domain"])
    {
        NSLog(@"Attributes = %@",[item.attributes objectAtIndex:0]);
    }
    }
}
@catch (AmazonServiceException *exception) {
    NSLog(@"Exception = %@", exception);
}

Я получаю это для атрибутов:

Attributes = {Name: Count,AlternateNameEncoding: (null),Value: 3,AlternateValueEncoding: (null),<SimpleDBAttribute: 0x8667120>}

Как мне получить значение 3 из этого?

Ответы [ 2 ]

1 голос
/ 18 ноября 2011

selectResponse должно иметь свойство items, которое является изменяемым массивом SimpleDBReplaceableAttribute экземпляров.Должен существовать элемент со свойством name "Count", а свойство value является строковым представлением счетчика.

Это будет что-то вроде:

    SimpleDBReplaceableAttribute *attribute = [[selectResponse items] objectAtIndex:0];
    NSInteger count = [[attribute value] integerValue];
0 голосов
/ 18 ноября 2011

Это сработало:

for (SimpleDBAttribute *attr in item.attributes) { if ([attr.name isEqualToString:@"Count"]) { int total = [attr.value intValue];
...