Cocoa API解説(macOS/iOS)

iOS , Mac アプリケーション開発のために使われる主要フレームワークの日本語情報です。

目次

replyToApplicationShouldTerminate:

INDEX>AppKit>NSApplication

アプリケーションに終了のメッセージを送信します

Objective-C

- (void)replyToApplicationShouldTerminate:(BOOL)shouldTerminate

Swift

func replyToApplicationShouldTerminate(_ shouldTerminate: Bool)

解説

終了する時に-applicationShouldTerminate:でNSTerminateLaterが返されたときに、処理をした後アプリケーションに終了のメッセージを送信します。

返り値

なし

引数

Objective-C

( BOOL )shouldTerminate

YES/NO

Swift

shouldTerminate: Bool

true/false

フレームワーク

ApplicationKit

クラス

NSApplication

使用可能

10.1

編集時のバージョン

10.10

参照

例文

#import "Controller.h"

@implementation Controller
NSTimer *timer=nil;

- (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)theApplication
{
	NSLog(@"applicationShouldTerminate");
	NSDate *theDate = [NSDate dateWithTimeIntervalSinceNow:10]; //10秒後にタイマー起動  
	//userInfoに使う辞書を作成
	NSDictionary *userInfoDictionary =[NSDictionary dictionaryWithObjectsAndKeys:
						@"value1",@"key1",
						@"value2",@"key2",
						@"value3",@"key3",nil];
	//タイマー作成
	timer = [NSTimer scheduledTimerWithTimeInterval:1.0
							target:		self
							selector:	@selector(timerControl:)
							userInfo:	userInfoDictionary
								repeats:NO];
	//起動時間セット
	[timer setFireDate:theDate];
	[[NSRunLoop currentRunLoop] addTimer:timer forMode:NSModalPanelRunLoopMode];
	
	return NSTerminateLater;
}

//2分以内に
-(void) timerControl:(NSTimer *)aTimer
{
	NSLog(@"...%@",[[aTimer userInfo] objectForKey:@"key2"]);
	//NSLog([[timer fireDate] description]);
	[NSApp replyToApplicationShouldTerminate:YES];
}
@end

>|swift
|