deinit {
// perform the deinitialization
}
là câu trả lời đúng cho Swift "dealloc".
Tuy nhiên, thật tốt khi chỉ ra điểm mới trong iOS 9 rằng NSNotificationCenter không còn cần phải dọn dẹp!
https://developer.apple.com/l Library / content / releasenotes /ounding / Nick-FoundationOlderNotes / index.html # X10_11Notes
NSNotificationCenter
Trong OS X 10.11 và iOS 9.0 NSNotificationCenter và NSDistributionNotificationCenter sẽ không còn gửi thông báo cho các nhà quan sát đã đăng ký có thể bị hủy bỏ. Nếu người quan sát có thể được lưu trữ dưới dạng tham chiếu yếu 0 thì lưu trữ bên dưới sẽ lưu trữ người quan sát dưới dạng tham chiếu yếu bằng 0, thay vào đó, nếu đối tượng có thể được lưu trữ yếu (nghĩa là có cơ chế giữ / giải phóng tùy chỉnh sẽ ngăn thời gian chạy từ việc có thể lưu trữ đối tượng một cách yếu ớt) nó sẽ lưu trữ đối tượng dưới dạng tham chiếu zeroing không yếu. Điều này có nghĩa là các nhà quan sát không bắt buộc phải hủy đăng ký trong phương thức thỏa thuận của họ. Thông báo tiếp theo sẽ được chuyển đến người quan sát đó sẽ phát hiện tham chiếu bằng không và tự động hủy đăng ký người quan sát. Nếu một đối tượng có thể được thông báo tham chiếu yếu sẽ không còn được gửi đến người quan sát trong quá trình giải quyết; hành vi trước đó của việc nhận thông báo trong dealloc vẫn còn trong trường hợp các nhà quan sát tham chiếu zeroing không yếu. Các trình quan sát dựa trên khối thông qua phương thức - [NSNotificationCenter addObserverForName: object: queue: usingBlock] vẫn cần phải được đăng ký khi không sử dụng nữa vì hệ thống vẫn giữ tham chiếu mạnh đến các trình quan sát này. Loại bỏ các quan sát viên (được tham chiếu yếu hoặc không tham chiếu) sớm vẫn được hỗ trợ. CFNotificationCenterAddObserver không phù hợp với hành vi này vì người quan sát có thể không phải là một đối tượng. Các trình quan sát dựa trên khối thông qua phương thức - [NSNotificationCenter addObserverForName: object: queue: usingBlock] vẫn cần phải được đăng ký khi không sử dụng nữa vì hệ thống vẫn giữ tham chiếu mạnh đến các trình quan sát này. Loại bỏ các quan sát viên (được tham chiếu yếu hoặc không tham chiếu) sớm vẫn được hỗ trợ. CFNotificationCenterAddObserver không phù hợp với hành vi này vì người quan sát có thể không phải là một đối tượng. Các trình quan sát dựa trên khối thông qua phương thức - [NSNotificationCenter addObserverForName: object: queue: usingBlock] vẫn cần phải được đăng ký khi không sử dụng nữa vì hệ thống vẫn giữ tham chiếu mạnh đến các trình quan sát này. Loại bỏ các quan sát viên (được tham chiếu yếu hoặc không tham chiếu) sớm vẫn được hỗ trợ. CFNotificationCenterAddObserver không phù hợp với hành vi này vì người quan sát có thể không phải là một đối tượng.
nhưng lưu ý những điểm dưới đây về các tài liệu tham khảo mạnh mẽ, vì vậy dù sao bạn cũng có thể phải lo lắng về việc dọn dẹp ...?