NSTableView与源,导致EXC_BAD_ACCESS

w00pied1ner

尽管我发现自己熟悉一堆编程语言,但是一段时间以来,我还是无法适应Cocoa / Objective-C。

我想用以下代码填充一些内容的NSTableView:

- (int) numberOfRowsInTableView:(NSTableView *)aTableView {
return (int)[settingsPlist count];}

- (id) tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(int)rowIndex {
    NSString *title = [[NSString stringWithString:[[aTableColumn headerCell] stringValue]] autorelease];
    NSLog(title); // debug
    NSLog(@"%i",rowIndex); // debug
    if([title isEqual: @"Plugin Name"]) {
        return [[settingsPlist objectForKey:[NSString stringWithFormat:@"%i",rowIndex]] objectForKey:@"name"];
    } else {
        return @"(n/a)";
    }
}

settingsPlist充满了plist的内容,如下所示:

<plist version="1.0">
<dict>
    <key>0</key>
    <dict>
        <key>name</key>
        <string>Test-Plugin</string>
        <key>version</key>
        <string>0.1</string>
        <key>type</key>
        <string>Car</string>
        <key>creator</key>
        <string>Icke</string>
        <key>checksum</key>
        <string>0x32</string>
        <key>link</key>
        <string>http://</string>
    </dict>
</dict>

问题:它在一行中运行良好(您可以通过查看控制台输出来判断,由NSLog(title);抛出NSLog(rowIndex);),但是此后,调试器将停止执行,并抛出EXC_BAD_ACCESS我知道这意味着什么,但我不知道为什么要得到这个以及如何解决。

谢谢你的帮助。:)

3329

你在这里放过了

    NSString *title = [[NSString stringWithString:[[aTableColumn headerCell] stringValue]] autorelease];

-[NSString stringWithString:] 已经自动释放返回的值,因此您无需再次调用它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

CGContextDrawLinearGradient导致EXC_BAD_ACCESS

来自分类Dev

Swift:animator()导致EXC_BAD_ACCESS

来自分类Dev

NSLocale NSLocaleCalendar导致EXC_BAD_ACCESS

来自分类Dev

委托分配导致EXC_BAD_ACCESS

来自分类Dev

didSet导致EXC_BAD_ACCESS

来自分类Dev

Swift dispatch_async导致EXC_BAD_ACCESS错误

来自分类Dev

NSNotificationCenter使用SpriteKit导致EXC_BAD_ACCESS错误

来自分类Dev

Swift字符串操作导致EXC_BAD_ACCESS

来自分类Dev

va_args()导致EXC_BAD_ACCESS

来自分类Dev

memcpy()在iOS中导致EXC_BAD_ACCESS

来自分类Dev

在NSUserDefaults中存储字典导致EXC_BAD_ACCESS

来自分类Dev

键盘通知导致EXC_BAD_ACCESS崩溃

来自分类Dev

InputAccessoryView导致UITextview上的EXC_BAD_ACCESS resignFirstResponder

来自分类Dev

为什么objc_msgSend导致EXC_BAD_ACCESS?

来自分类Dev

加载新的ViewController会导致EXC_BAD_ACCESS

来自分类Dev

ABAddressBookSave导致启用EXC_BAD_ACCESS ARC

来自分类Dev

NSMutableAttributedString initWithData:导致旋转EXC_BAD_ACCESS

来自分类Dev

Swift中的parser.parse()导致EXC_BAD_ACCESS

来自分类Dev

iOS蓝牙retrievePeripherals导致EXC_BAD_ACCESS崩溃

来自分类Dev

dismissViewControllerAnimated仅导致iOS 7.1中的EXC_BAD_ACCESS

来自分类Dev

键盘通知导致EXC_BAD_ACCESS崩溃

来自分类Dev

NSInvocation获取导致EXC_BAD_ACCESS的目标

来自分类Dev

调试EXC_BAD_ACCESS

来自分类Dev

NSDictionary EXC_BAD_ACCESS

来自分类Dev

AFHTTPRequestOperationManager的EXC_BAD_ACCESS

来自分类Dev

EXC_BAD_ACCESS在mergeChangesFromContextDidSaveNotification

来自分类Dev

SKTexture EXC_BAD_ACCESS

来自分类Dev

EXC_BAD_ACCESS StringWithFormat

来自分类Dev

为什么在这个简单的NSOutlineView数据源中使用EXC_BAD_ACCESS?

Related 相关文章

热门标签

归档