1
我想確定一些事情。KVO - 複製觀察對象
假設我有一個NSArray,有一些對象。 假設那些對象被觀察到。
現在,如果我用另一個NSArray創建另一個NSArray(initWithArray:copyItems:NO
),觀測值是否會保持不變?
如果我通過複製創建(initWithArray:copyItems:YES
),觀察將遵循新數組中的新對象嗎?
謝謝!
我想確定一些事情。KVO - 複製觀察對象
假設我有一個NSArray,有一些對象。 假設那些對象被觀察到。
現在,如果我用另一個NSArray創建另一個NSArray(initWithArray:copyItems:NO
),觀測值是否會保持不變?
如果我通過複製創建(initWithArray:copyItems:YES
),觀察將遵循新數組中的新對象嗎?
謝謝!
觀察結果通過它們的指針鏈接到原始對象。
如果您創建一個新的數組而不復制,那麼這些對象是相同的。觀察不會改變,你只需要多次引用相同的對象。
如果通過複製創建新數組,則對象不同,但原始對象仍然存在於原始數組中。觀察不會改變,你仍然在觀察原始物體。新對象實際上是不相關的,並且沒有觀察者。
感謝您的回答。這就是我的想法,但我想確定(你永遠不知道......)。 – BPCorp