В моем приложении я не могу удалить строку из таблицы.Содержимое табличного представления приходит в виде веб-ответа (GET), и я отображаю его в табличном представлении, я отображаю некоторые его детали во втором контроллере представления (нажатие при нажатии на строку в индексе ...) Может кто-нибудь помочь, пожалуйста?Вот некоторые из моих кодов: (в viewDidLoad)
sharedDa= (BNT_AppDelegate *)([[UIApplication sharedApplication]delegate]);
mm= [[sharedDa messagesDict]objectForKey:@"message"];//mm is NSDictionary
mm
содержит несколько свойств (таких как дата, сообщение ..), и я думаю, что мне нужно удалить объект по индексу из словаря.Как я могу справиться с этой ситуацией?
EDIT-2: Вот мой объект JSON;
{
button = 30;
message = (
{
date = "2012-03-21 20:13:10";
message = "message 1";
},
{
date = "2012-03-21 20:13:42";
message = "asdf nkop jp?l?f";
},
{
date = "2012-03-22 10:06:11";
message = "test local notification message";
},
{
date = "2012-03-22 10:06:41";
message = "second test of uilocalnotification";
},
{
date = "2012-03-22 10:08:13";
message = "third test of notification";
}
);
}
А вот мой код инициализации:
sharedDa= (BNT_AppDelegate *)([[UIApplication sharedApplication]delegate]);
//mm is mutableDictionary and the others are mutable array
mm= [[sharedDa messagesDict]objectForKey:@"message"];
// NSLog(@"JSON message: %@", [sharedDa messagesDict]);
buttonVersion= [sharedDa.messagesDict objectForKey:@"button"];
mySecondArray= [mm valueForKey:@"date"];
myIDsArray=[mm valueForKey:@"ID"];
Я проанализировал изменяемый словарь и инициализировал различные изменяемые массивы, вот мой метод делегата для удаления строки;
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (editingStyle == UITableViewCellEditingStyleDelete) {
// Delete the row from the data source
NSLog(@"Thread: %@", [NSThread currentThread]);
[self.myIDsArray removeObjectAtIndex:indexPath.row];
[self.myArray removeObjectAtIndex:indexPath.row];
[self.mySecondArray removeObjectAtIndex:indexPath.row];
[self.buttonVersion removeObjectAtIndex:indexPath.row];
//
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade]; } }
Мое приложение вылетает, и в консоли я получаю эти три строки:
Thread: <NSThread: 0x75719d0>{name = (null), num = 1}
[Switching to process 1472 thread 0x10a03]
(gdb)
Я знаю, это стало очень длинным вопросом, но кто-нибудь может дать мне идею?