Tom S wrote: > basically, the registered observers are stored as weak pointers due to > the gc not scanning malloc'd memory blocks. if both sides do the > unregistration, it seems to work fine... Yes, I was thinking of using malloc/free to avoid having the gc scan the array.