Обработка SIGPIPE в Swift 4 - PullRequest
       5

Обработка SIGPIPE в Swift 4

0 голосов
/ 13 марта 2019

Я пытаюсь перенести свой код Obj-C на проект Swift, и у меня возникают трудности при компиляции обработчика SIGPIPE:

func SigPipeHandler()
{
  print(@"We Got a Pipe Single :%d____________",s);
}


func application(_ application: UIApplication,
                 didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool {
    signal(SIGPIPE, SigPipeHandler);
    // Override point for customization after application launch.
    return true
}

Я получаю ошибку:

Невозможно преобразовать значение типа '() -> ()' в ожидаемый тип аргумента '(@convention (c) (Int32) -> Void)?'

1 Ответ

0 голосов
/ 13 марта 2019
let handler: @convention(c) (Int32) -> () = { sig in
    // handle the signal somehow
    print("error", sig)
}


func application(_ application: UIApplication,
                 didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool {
    signal(SIGPIPE, handler);
    // Override point for customization after application launch.
    return true
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...