Поместите NSString из NSDictionary из NSArray в UIActionSheet - PullRequest
1 голос
/ 19 июля 2011

Я сохраняю NSMutableArray, используя NSUserDefaults.Затем в другом контроллере представления я должен получить NSMutableArray из NSUserDefaults.Итак, я хочу получить NSString из первого NSDictionary в этом массиве, а затем добавить его в качестве кнопки в мой UIActionSheet.Затем я зациклился бы на этом, поэтому извлекаю вторую строку NSString из второго NSDictionary из этого NSMutableArray.Я также хотел бы держать их в правильном порядке.Таким образом, NSString из NSDictionary, который является objectAtIndex: 0 в NSMutableArray, является первой кнопкой в ​​UIActionSheet?Возможно ли это, и если да, то как мне это сделать?

Большое спасибо!

Редактировать (В этом коде есть утечка).XCode говорит, что это выделено жирной линией, но я не уверен, что я что-то здесь просочился или делаю что-то не так?код.В любом случае ошибка заключается в том, что Потенциальная утечка объекта в жирной строке сохранена в accountsArray.Эта строка является второй строкой в ​​сообщении edit2.

NSUserDefaults *prefs =[NSUserDefaults standardUserDefaults];
**NSMutableArray *accountsArray = [[prefs objectForKey:@"AccountArray"] mutableCopy];**
if ([accountsArray count] >= 2) {

UIActionSheet *playingSheet = [[UIActionSheet alloc] initWithTitle:@"Hi?" delegate:self cancelButtonTitle:nil destructiveButtonTitle:nil otherButtonTitles:nil];
[playingSheet showInView:self.view];
for(NSDictionary * dict in accountsArray)
{
    NSString *name = [dict objectForKey:@"Name"];
    [playingSheet addButtonWithTitle:name];
}
[playingSheet release];
}

1 Ответ

2 голосов
/ 19 июля 2011

Как то так?

UIActionSheet * sheet = [[UIActionSheet alloc] initWithTitle .......]


for(NSDictionary * dict in myMutableArray)
{
    NSString * str = [dict objectForKey:@"MyStringKey"];
    [sheet addButtonWithTitle:str];
}
...