После применения пользовательской логики следующее действие пользовательского интерфейса приводит к сбою приложения - PullRequest
0 голосов
/ 14 марта 2010

У меня есть команда (nightRoster), в которую я делаю кнопку для добавления сотрудников.Команда действительно связана с событием той ночи, но она представлена ​​AC.

Я хотел убедиться, что сотрудник не входит в команду, прежде чем добавить, поэтому я добавил метод в MyDocument для проверкипервый.Кажется, что работает, журналы ошибок завершены, но после того, как я добавил участника, в следующий раз, когда я нажимаю что-либо, происходит сбой программы.Есть догадки почему?Вот код:

-(IBAction)playsTonight:(id)sender
{
NSArray *selection = [fullRoster selectedObjects];
NSArray *existing = [eveningRoster arrangedObjects];

//Result will be within each loop.
BOOL result;
//noDuplicates will stay YES until a duplicate is found.
BOOL noDuplicates = YES;
//For the loop:
int count;

for (count = 0; count < [selection count]; count++){
    result = [existing containsObject:[selection objectAtIndex:count]];
    if (result == YES){
        NSLog(@"Duplicate found!");
        noDuplicates = NO;
    }
}
if (noDuplicates == YES){
[eveningRoster addObjects:[fullRoster selectedObjects]];
    NSLog(@"selected objects added.");
[eveningTable reloadData];
    NSLog(@"Table reloaded.");
}

[selection release];
[existing release];
return;
}

1 Ответ

3 голосов
/ 14 марта 2010

Предполагая, что -selectedObjects и -arrangedObjects являются стандартными методами NSController, они возвращают автоматически освобожденные объекты (или, по крайней мере, объекты, которые ВЫ не несете ответственности за освобождение). Если вы удалите эти два последних вызова в вашем методе, это должно решить эту проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...