Có. Any
hoàn toàn mạnh mẽ. Nếu bạn vượt qua một loại tham chiếu, nó sẽ là một tham chiếu mạnh mẽ. Nó không phải là một "chu kỳ" vì không có gì "giữ lại" một enum, nhưng miễn là giá trị tồn tại (hoặc bất kỳ bản sao của giá trị), nó sẽ giữ Entity
và ngăn không cho nó được deallocated.
Hãy tưởng tượng nếu nó không đúng. Điều gì sẽ .some(obj: NSObject())
chứa? Nếu Type.some
không tăng số lượng giữ lại, số NSObject
sẽ biến mất. (Vì đây là rất giống với một Optional
, đó sẽ là rất đáng ngạc nhiên, vì nhiều T?
sẽ ngay lập tức trở thành nil
.)
BTW, đây là cách dễ dàng và hữu ích khám phá bằng cách tạo ra một phương pháp deinit
trên Entity
.
Nguồn
2017-06-26 17:36:17
Mã đó không thể tạo chu trình tham chiếu vì 1) không có đối tượng nào được tạo, 2) mã không biên dịch chút nào. –
@MartinR, phải. Hãy coi nó là mã giả –