macOS/iOS API解説

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

目次

backingType

INDEX>AppKit>NSWindow

ウインドウのバッキングストアタイプ

Objective-C

@property NSBackingStoreType backingType

Swift

var backingType: NSBackingStoreType

解説

ウインドウのバッキングストアタイプ。
ウインドウで描画されるときのバッファ方法
NSBackingStoreBufferedを使用します。


【NSBackingStoreType】
● NSBackingStoreBuffered
全ての描画をバッファに描画します。
通常はこのモードを使用してください。
ハードウエアでの高速化などの恩恵が受けられます。

● NSBackingStoreRetained
バッファを使用しますが、可能な場合には直接描画します。
このモードは使用しないでください。過去のハードウエア性能が低い時期に実装されました。


● NSBackingStoreNonretained
バッファを使用せずに全てを直接描画します。
このモードを使用しないでください。過去のOSでの描画のために残されています。
なにがしかの理由でこのモードを使用する場合は描画領域を限定して描画するなどをしないと速度の低下を招きます。

返り値

Objective-C

@property NSBackingStoreType backingType

Swift

var backingType: NSBackingStoreType

補助記憶装置タイプ

フレームワーク

ApplicationKit

クラス

NSWindow

使用可能

10.0

参照

- setBackingType:


描画バッファ - Cocoa API解説(iOS/OS X)

関連記事(外部リンク)

例文

Objective-C

#import "Controller.h"

@implementation Controller

- (IBAction)pushButton:(id)sender
{
switch([myWindow backingType]){
        case NSBackingStoreBuffered:
            NSLog(@"NSBackingStoreBuffered");
            break;
        case NSBackingStoreRetained:

            NSLog(@"NSBackingStoreRetained");
            break;
        case NSBackingStoreNonretained:
            NSLog(@"NSBackingStoreNonretained");
            }
}
@end

Swift

//NSWindow backingType
    @IBAction func function027(sender: AnyObject) {
        var aWindow : NSWindow = NSWindow(contentRect: NSMakeRect(0.0, 0.0, 300, 200), styleMask: NSTitledWindowMask | NSClosableWindowMask | NSMiniaturizableWindowMask | NSResizableWindowMask, backing: .Buffered, defer: false)
        windowArray.addObject(aWindow) //ウインドウを保持するための配列に追加。アプリ終了時に配列は破棄
        aWindow.center()//ウインドウをスクリーンの中心に
        aWindow.title = "ウインドウタイトル"//タイトル設定
        aWindow.orderFront(self)//前面に
        aWindow.makeKeyAndOrderFront(self)//表示
        
        switch (aWindow.backingType){
        case NSBackingStoreType.Retained:
            NSLog("Retained")
        case .Nonretained:
            NSLog("Nonretained")
        case .Buffered:
            NSLog("Buffered")
        default:
            NSLog("None")
        }
        
    }

編集時のバージョン

10.10