Sobes.tech
Junior — Middle

Sind Closures mit non-escaping Eigenschaft referenzierte Typen?

sobes.tech KI

Antwort von AI

In Swift sind Closures mit der Non-Escaping-Eigenschaft keine referenzierenden Typen im Sinne davon, dass sie nach Verlassen der Funktion nicht eingefangen oder gespeichert werden. Non-Escaping-Closures werden innerhalb des Funktionskörpers ausgeführt und nicht gehalten, daher erzeugen sie keine starken Referenzen, die zu einem Retain Cycle führen könnten. Dies unterscheidet sie von Escaping-Closures, die gespeichert und später aufgerufen werden können und sich daher wie referenzierende Typen verhalten. Daher verhalten sich Non-Escaping-Closures nicht wie referenzierende Typen, sondern eher wie temporäre Codeblöcke, die sofort ausgeführt werden.