Cocoa API解説(macOS/iOS)

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

目次

setPeriodicDelay:interval:

INDEX>AppKit>NSButton

メッセージ送信の遅延と間隔をセットします

Objective-C

- (void)setPeriodicDelay:(float)delay
                interval:(float)interval

Swift

func setPeriodicDelay(_ delay: Float,
             interval interval: Float)

解説

メッセージ遅延と間隔をセットします。
連続でメッセージを送る場合にボタンを押してメッセージを送信して、次に送信するまでの時間が「遅延」(delay)、そのあと連続的に送信する間隔が「間隔」(interval)。
遅延と間隔の最大値は、60.0秒です。それ以上の値をセットしても無視されて60.0秒が使われます。

メッセージの連続送信は、continuousをYES(Swiftではtrue)にします。デフォルトではメッセージの連続送信はしません。continuousプロパティはNSConrrolにあります。
Swift

theButton.continuous = true //メッセージを繰り返し送信する

返り値

なし

引数

delay
メッセージ送信の遅延(秒)
Objective-C

float

Swift

Float

interval
メッセージの送信間隔
Objective-C

float

Swift

Float

フレームワーク

ApplicationKit

クラス

NSButton

使用可能

10.0

参照


関連記事(外部リンク)

例文

Objective-C

#import "MyObject.h"

@implementation MyObject

- (IBAction)myAction:(id)sender
{
	float de;
	float iv;
	
	[sender getPeriodicDelay: &de interval: &iv];
	NSLog(@"delay %.1f interval %.1f",de,iv);
	
	[sender setPeriodicDelay:0.1 interval:0.2];
	
	[sender getPeriodicDelay: &de interval: &iv];
	NSLog(@"delay %.1f interval %.1f",de,iv);
	
}

@end

Swift

//NSButton setPeriodicDelay
    //http://cocoaapi.hatenablog.com/entry/00011013/NSButton_setPeriodicDelay_interval_
    //Swift2.0
    var counter004 : Int = 0
    func buttonAction004(sender: AnyObject?){
        //var theWindow : NSWindow = (sender as! NSButton).window!
        (sender as! NSButton).title = String(counter004++)
    }
    @IBAction func function004(sender: AnyObject) {
        //ウインドウ作成
        let aWindow : NSWindow
        = NSWindow(contentRect: NSMakeRect(0.0, 0.0, 300.0, 200.0),
            styleMask: NSTitledWindowMask
                | NSClosableWindowMask
                | NSMiniaturizableWindowMask
                | NSResizableWindowMask,
            backing: .Buffered,
            `defer`: false,
            screen: NSScreen.mainScreen())
        windowArray.addObject(aWindow) //ウインドウを保持するための配列に追加。アプリ終了時に配列は破棄
        aWindow.center()//ウインドウをスクリーンの中心に
        aWindow.title = "ウインドウタイトル"//タイトル設定
        //ボタン作成
        let theButton : NSButton = NSButton(frame: NSMakeRect(50.0, 50.0, 100.0, 30.0))
        theButton.title = "Change"//タイトル
        theButton.bezelStyle = NSBezelStyle.RoundedBezelStyle//スタイル
        theButton.action = Selector("buttonAction004:")//ボタンを押した時に動かす関数
        theButton.target = self//ターゲット
        theButton.continuous = true //メッセージを繰り返し送信する
        
        var floatValue1 : Float = 0 //delayを入れる
        var floatValue2 : Float = 0 //intervalを入れる
        
        theButton.getPeriodicDelay(&floatValue1,
            interval: &floatValue2)
        //-> : 0.400000,2 : 0.075000
        
        theButton.setPeriodicDelay(0.5,interval :0.3)
        
        aWindow.contentView!.addSubview(theButton)
        
        aWindow.orderFront(self)//前面に
        aWindow.makeKeyAndOrderFront(self)//表示
        
    }

編集時のバージョン

10.10