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
メソッドが実装され、またはこれは、実際にバグですされている方法と間違って何かをやっていますか?