zoukankan      html  css  js  c++  java
  • IOS 把shell信息或者NSlog输出信息 显示在视图

    //标准输出

    [self redirectSTD:STDOUT_FILENO];

    //错误输出

      //[self redirectSTD:STDERR_FILENO];

    - (void)redirectNotificationHandle:(NSNotification *)nf{

        NSData *data = [[nf userInfo] objectForKey:NSFileHandleNotificationDataItem];

        NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

        if (![str isEqualToString:@""]) {

            textView.text = [NSString stringWithFormat:@"%@ %@",textView.text, str];

            NSRange range;

            range.location = [textView.text length] - 1;

            range.length = 0;

            [textView scrollRangeToVisible:range];

        }

        [[nf object] readInBackgroundAndNotify];

    }

    - (void)redirectSTD:(int )fd{

        NSPipe * pipe = [NSPipe pipe] ;

        NSFileHandle *pipeReadHandle = [pipe fileHandleForReading] ;

        dup2([[pipe fileHandleForWriting] fileDescriptor], fd) ;

        

        [[NSNotificationCenter defaultCenter] addObserver:self

                                                 selector:@selector(redirectNotificationHandle:)

                                                     name:NSFileHandleReadCompletionNotification

                                                   object:pipeReadHandle] ;

        [pipeReadHandle readInBackgroundAndNotify];

    }

  • 相关阅读:
    ubuntu
    eclipse 链接 hadoop
    javaweb访问hdfs的一些错误
    eclipse
    ubuntu
    ubuntu
    ubuntu
    ubuntu 安装 mysql
    光源选择
    C#脱离Halcon编程开发环境使用方法
  • 原文地址:https://www.cnblogs.com/yangli-ios/p/4200904.html
Copyright © 2011-2022 走看看