objective-c - 应用自定义逻辑后,下一个 UI 操作会使我的应用程序崩溃

标签 objective-c cocoa core-data

我有一个团队(eveningRoster),我正在制作一个按钮将员工添加到其中。 该团队确实与当晚的事件有关系,但它是由 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;
}

最佳答案

假设 -selectedObjects 和 -arrangedObjects 是标准 NSController 方法,这些方法将返回自动释放的对象(或者至少是您不负责释放的对象)。如果您删除方法中的最后两个 -release 调用,它应该可以解决该问题。

关于objective-c - 应用自定义逻辑后,下一个 UI 操作会使我的应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2440946/

相关文章:

objective-c - 在 Obj-C 到 Swift 转换中接收 'EXC_BAD_ACCESS Code=2'

ios - 快速创建和播放声音

ios - 购买历史记录中的inApp购买待定

objective-c - 让 CVDisplayLink + 自动引用计数完美结合

xml - 从 Cocoa 应用程序读取并解析 XML 文件

cocoa - NSTextView - 将 initWithHTML 与表格一起使用

ios - iOS 中的 NSFaultingOrderedSet

iphone - 如何将值传递给父 View Controller ?

ios - 在 iOS 5 上实现快速高效的核心数据导入

swift - 带有部分的 UITableView 的 CoreData 实体