Cocoa API解説(macOS/iOS)

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

目次

suspend

レシーバー作業の遂行を保留します

解説

レシーバー作業の遂行を保留します。

返り値

( BOOL )

YES/NO

引数

クラス

NSTask

Instance Methods

使用可能

10.0

参照

例文

#import "MyObject.h"

@implementation MyObject

- (IBAction)myAction:(id)sender
{
NSTask *task = [[NSTask alloc] init];//Task=UNIXコマンド実行
NSPipe *pError = [NSPipe pipe];//エラー出力先
NSPipe *pOutput = [NSPipe pipe];//標準出力先

[task setLaunchPath:@"/usr/bin/cal"];//起動するシステムコマンド calendar
[task setArguments:[NSArray arrayWithObjects:@" 8 2002",nil]];//渡す引数

NSLog([[task environment] description]);

//標準出力先
[task setStandardOutput:pOutput];
//エラー出力先
[task setStandardError : pError];
//実行
[task launch];

if ([task isRunning]){
NSLog(@"isRunning YES");
}else{
NSLog(@"isRunning NO");
}
[task suspend];
[task resume];
//終了まで待つ
[task waitUntilExit];
{
//エラーのデータ
NSData *dataError = [[pError fileHandleForReading] availableData];
//標準出力データ
NSData *dataOutput = [[pOutput fileHandleForReading] availableData];
//エラー出力
NSLog([NSString stringWithFormat:@"error-%s",[dataError bytes]]);
//標準出力
NSLog([[NSString alloc] initWithData:dataOutput
                                encoding:NSShiftJISStringEncoding
                                ]);
        }
}

@end