Защо трябва изрично да извикаме removeobserver в dealloc?
Защо средата за изпълнение не може да открие, че даден екземпляр е освободен?
Защо трябва изрично да извикаме removeobserver в dealloc?
Защо средата за изпълнение не може да открие, че даден екземпляр е освободен?
По времето, когато NSNotificationCenter беше първоначално внедрен, нямаше такова нещо като автоматично нулиране на слаби препратки в Objective-C (това дойде с ARC). Би било възможно да се приложи pub-sub с помощта на слаби препратки, но те не са променили API/поведението по каквато и да е причина.