Какао / Objective C Выполнение Командной строки Shell

Я думаю следующее:

bool equals = (String.Compare(input, input.ToUpper(), StringComparison.Ordinal) == 0)

будет работать также, и можно удостовериться, что сравнение сделано, не принимая во внимание строковое преобразование регистра (я думаю, что VB.NET игнорирует регистр по умолчанию). O даже используют String.CompareOrdinal(input, input.ToUpper()).

18
задан Tom 25 September 2009 в 02:46
поделиться

3 ответа

NSTask довольно легко сделать с этим. Для синхронного вызова вы можете использовать что-то вроде этого фрагмента:

NSString *path = @"/path/to/executable";
NSArray *args = [NSArray arrayWithObjects:..., nil];
[[NSTask launchedTaskWithLaunchPath:path arguments:args] waitUntilExit];

Вызов -waitUntilExit проверяет его завершение перед продолжением. Если задача может быть асинхронной, вы можете удалить этот вызов и просто позволить NSTask сделать это.

30
ответ дан 30 November 2019 в 06:59
поделиться

Если вы просто хотите что-то запустить и не заботитесь о выводе или коде возврата (например, вы хотите прикоснуться к файлу), вы можете просто сделать

system("touch myfile.txt");

Easy as that .

9
ответ дан 30 November 2019 в 06:59
поделиться

NSTask

Используя класс NSTask, ваша программа может запускать другую программу как подпроцесс и контролировать выполнение этой программы.

3
ответ дан 30 November 2019 в 06:59
поделиться