Ich analysiere das Swift Language Guide-Tutorial (aus der Apple iOS dev-Bibliothek) und erstelle für jedes Kapitel eine separate swift-Datei. In jeder Datei erstelle ich mehrere Funktionen, in denen ich Codeschnipsel isoliere, die sie bereitstellen. Alles lief, bis die Strong Reference Cycles for Closures getestet wurden. Wenn die Klasse, die eine Closure enthält (für eine berechnete Eigenschaft), innerhalb einer Funktion deklariert wird, kann die Closure die "self" -Referenz der einschließenden Klasse nicht sehen. Irgendwelche Ideen warum? Es funktioniert gut, wenn die Klasse nicht innerhalb einer Funktion deklariert ist.
%Vor%Sieht sehr ähnlich aus wie ein Fehler (oder zumindest ein Verhalten von funtionlokalen Strukturen / Klassen, die ich nicht dokumentiert finden kann). Das funktioniert gut:
%Vor%Aber das ist nicht:
%Vor%Eine innere Struktur innerhalb einer äußeren Struktur funktioniert jedoch:
%Vor%Wie @ JeremyP sagt, sollten Sie ein Radar einlegen .
Tags und Links swift