macOS/iOS API解説

iOS , Mac アプリケーション開発のために使われる主要フレームワークの日本語情報です。2010年代に書かれた内容です。今後更新はありません。

目次

endSheet:returnCode:

シートウインドウを指定して、文書モーダルセッションを終わります
-(void)endSheet:(NSWindow *)sheet:
             returnCode:(NSInteger)returnCode:

解説

シートウインドウを指定して、文書モーダルセッションを終わります。リターンコード(NSInteger)をデリゲートオブジェクトに渡します。

返り値

( void )

なし

引数

( NSWindow * )sheet

シートウインドウ

( NSInteger )returnCode

リターンコード

フレームワーク

ApplicationKit

クラス

NSApplication

Instance Methods

使用可能

10.0

参照

- beginSheet:modalForWindow:modalDelegate:didEndSelector:contextInfo:
- endSheet:

例文

#import "MyObject.h"
@implementation MyObject

- (IBAction)myAction:(id)sender
{
	[NSApp 	beginSheet:sheetWindow
	 modalForWindow	:[sender window]
	 modalDelegate	:self
	 didEndSelector	:@selector(sheetDidEnd:returnCode:contextInfo:)
	 contextInfo	:nil
	 ];
}
- (IBAction)closeSheet:(id)sender
{
	NSLog(@"closeSheet");
	//OKボタンはtagを1にしてある(NSOKButton=1)
	//Cancelボタンはtagを0にしてある(NSCancelButton=0)
	//両方のボタンをこのメソッドに接続しておいて...
	[NSApp endSheet:sheetWindow returnCode:[sender tag]];
	[sheetWindow close];
}

- (void)sheetDidEnd:(NSWindow*)sheet 
                returnCode:(NSInteger)returnCode 
                contextInfo:(void*)contextInfo
{
		//ここでどのボタンが押されたかを見分ける
		//そうするとボタン増やしてもメソッド増やさなくてOK
		switch (returnCode) {
			case NSOKButton:
				NSLog(@"OK Button Pressed",returnCode);
				break;
			case NSCancelButton:
				NSLog(@"Cancel Button Pressed",returnCode);
				break;
			default:
				break;
		}
        

}

@end