Вы можете сделать протокол полученным из любого типа класса, такого как NSObject или AnyObject. например:
protocol TopNewsTableDelegate : AnyObject{
func topNewsTableDidLoadedStories()
}
Ну, предложения от работы Франческо. Но я все еще смущен поведением здесь. Мы знаем, что использование в кавычках групповых символов без кавычек обычно приводит к ошибке. То есть:
find . -name *.txt -print
find: пути должны предшествовать выражению:
blockquote>HowTo-Word-Split.txt' find: possible unquoted pattern after predicate
-name '?Однако, подстановочный знак в одинарных кавычках (или экранирование это, если это только 1 символ) будет работать так:
find . -name \*.txt -print
, который дает этот вывод (на две отдельные строки)
> ./HowTo-Word-Split.txt > ./bash-parms.txt
Так что в версии bash -c то, что я Я думал, что это:
bash -c 'find . [113] $1 -print' "-name" "*.txt"
приведет к тому, что * .txt будет расширен даже перед передачей в строку cmd, а использование одинарных кавычек приведет к попытке выполнения (после подстановки arg и -c вступает в силу)
find . -name *.txt -print
, который, как я только что продемонстрировал, не работает.
Однако, похоже, существует некоторая магия, связанная с ключом -c, как показано настройкой -x в приглашении bash, например:
$ set -x $ bash -c ' find . [115] "$1" -print' "-name" "*.txt" + bash -c ' find . [115] "$1" -print' -name '*.txt' ./HowTo-Word-Split.txt ./bash-parms.txt
Обратите внимание, что хотя я использовал двойные кавычки в строка -c, bash фактически выполняла поиск с одинарными кавычками, заключенными в аргумент, тем самым заставляя поиск работать.
Проблема решена. :)
Похоже, вы пытаетесь использовать "\*.txt"
для предотвращения расширения глобуса, так что команда find
видит *.txt
вместо, например, foo.txt
.
Однако, в конечном итоге он видит \*.txt
. Нет файлов, соответствующих этому шаблону, поэтому вы не видите выходных данных.
Чтобы find
видел *.txt
в качестве 3-го аргумента, вы можете сделать это:
bash -c 'find . [110] "$1" -print' "-name" "*.txt"
Редактировать: Вы действительно получаете . -name *.txt -print
в качестве вывода первой команды, которую вы заменили find
с echo
? Когда я запускаю эту команду, я получаю . -name \*.txt -print
.