2012-05-08 5 views
0

MacRubyの初心者として、私はこのtutorialを処理していて、ユーザが削除しようとすると警告するドロップダウンシートを追加したいアプリからのエントリ。MacRuby NSBeginAlertSheetコールが不明である:[BUG]不明Objective-C immediate:0x1(nil)

def removeFriend(sender) 
    return if @friendsTableView.numberOfSelectedRows == 0 
    title = 'Warning!' 
    defaultButton = 'Delete' 
    alternateButton = 'Don\'t Delete' 
    otherButton = nil 
    s = @friendsTableView.numberOfSelectedRows > 1 ? 's' : '' 
    message = "Are you sure you want to delete the selected record#{s}?" 
    NSBeginAlertSheet(title, defaultButton, alternateButton, otherButton, @mainWindow, self, :'alertDidEnd:returnCode:contextInfo:', nil, nil, message) 
end 

alertDidEnd:returnCode:contextInfo用:

def alertDidEnd(sheet, returnCode:rCode, contextInfo:cInfo) 
    <array handling code> 
end 

これは私が手に実行するとOBJの-Cで、私はMacRubyの中に持っている

- (IBAction)deleteRecord:(id)sender 
{ 
    NSString *title = @"Warning!"; 
    NSString *defaultButton = @"Delete"; 
    NSString *alternateButton = @"Don't Delete"; 
    NSString *otherButton = nil; 
    NSString *message = @"Are you sure you want to delete the selected record(s)?"; 

    if ([tableView numberOfSelectedRows] == 0) 
    return; 

    NSBeep(); 
    NSBeginAlertSheet(title, defaultButton, alternateButton, otherButton, mainWindow, self, @selector(sheetDidEnd:returnCode:contextInfo:), nil, nil, message); 
} 

あるコードhere、後

removeFriendにリンクされたボタンがクリックされた場合のドロップダウンシートエドが、その後、私は次のエラーで私のアプリがクラッシュを「削除」をクリックした場合:

unknown: [BUG] unknown Objective-C immediate: 0x1 (nil) 

MacRuby 0.12 (ruby 1.9.2) [universal-darwin10.0, x86_64] 

(lldb) 

私はdidAlertEndメソッドが実装され、またはこれは、実際にバグですされている方法と間違って何かをやっていますか?

答えて