Как можете да уловите множество аргументи слабо в затваряне на Swift?

Има ли начин да се уловят слабо множество аргументи при бързо затваряне? Знам, че това е синтаксисът за слабо улавяне на един аргумент:

{ [weak arg]
    arg.doSomething()
}

Как мога да направя това за два обекта, които искам да заснема слабо?


person phoganuci    schedule 18.01.2015    source източник


Отговори (1)


От Изрази в „Езикът за програмиране Swift“ (курсивът е добавен):

Израз за затваряне
...
Изразът за затваряне може изрично да посочи стойностите, които улавя от заобикалящия обхват, като използва списък за улавяне. Списъкът за заснемане се записва като списък, разделен със запетая, ограден с квадратни скоби, преди списъка с параметри. Ако използвате списък за улавяне, трябва да използвате и ключовата дума in, дори ако пропуснете имената на параметрите, типовете параметри и типа на връщане.

Пример:

{
    [weak arg1, weak arg2] in 
    // ...
}
person Martin R    schedule 18.01.2015
comment
Винаги на помощ Мартин :) - person om-ha; 22.01.2019