macOS/iOS API解説

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

目次

nextEventMatchingMask:untilDate:inMode:dequeue:

指定したイベントが来るまでアプリケーションを待たせます
-(NSEvent *)nextEventMatchingMask:(unsigned int)mask:
               untilDate:(NSDate *)expirationDate:
               inMode:(NSString *)mode:
               dequeue:(BOOL)dequeue:

解説

指定したイベントが来るまでアプリケーションを待たせます。
グローバルNSApplicationオブジェクト(NSApp)にメッセージ全体を転送します。
メソッドの詳細はNSAplicationの nextEventMatchingMask:untilDate:inMode:dequeue: を見てください。
イベントが来なくても、指定した時間が来れば次へ進みます。
【mask】
● NSLeftMouseDownMask 左のマウスボタンを押した。
● NSLeftMouseUpMask  左のマウスボタンを離した
● NSRightMouseDownMask 右のマウスボタンを押した
● NSRightMouseUpMask 右のマウスボタンを離した
● NSMouseMovedMask マウスを動かした
● NSLeftMouseDraggedMask 左のマウスボタンでドラッグした
● NSRightMouseDraggedMask 右のマウスボタンでドラッグした
● NSMouseEnteredMask マウスが領域に入った
● NSMouseExitedMask マウスが領域から出た
● NSKeyDownMask キーを押した
● NSKeyUpMask キーを話した
● NSFlagsChangedMask
● NSAppKitDefinedMask
● NSSystemDefinedMask
● NSApplicationDefinedMask
● NSPeriodicMask
● NSCursorUpdateMask
● NSScrollWheelMask
● NSOtherMouseDownMask 他のマウスボタンを押した
● NSOtherMouseUpMask 他のマウスボタンを離した
● NSOtherMouseDraggedMask 他のマウスボタンでドラッグした
● NSAnyEventMask
【mode】
● NSModalPanelRunLoopMode
● NSEventTrackingRunLoopMode

返り値

( NSEvent * )

イベント

引数

( unsigned int )mask

マスク

( NSDate * )expirationDate

待たせる時刻

( NSString * )mode

モード

( BOOL )dequeue

以前のイベントをキューから外すか

フレームワーク

ApplicationKit

クラス

NSWindow

Instance Methods

使用可能

10.0

参照

例文

#import "Controller.h"

@implementation Controller

- (IBAction)pushButton:(id)sender
{
NSEvent *theEvent;
NSDate *theDate;
theDate = [NSDate dateWithTimeIntervalSinceNow:10]; //10秒後

theEvent = [myWindow nextEventMatchingMask:(NSLeftMouseDraggedMask | NSLeftMouseUpMask)
                        untilDate:theDate
                        inMode:NSEventTrackingRunLoopMode
                        dequeue:NO
                        ];

    NSLog(@"end");
    
    }
@end