Thank you Jens, that is exactly the point of my question. 
At the moment in pure swift there is no incremental array change API for 
observers. This must have been considered by the library designers. 

My question is, what was their design intent? Rebuild all dependents every time?


Sent from my iPhone

> On Mar 7, 2017, at 7:59 AM, Jens Alfke <j...@mooseyard.com> wrote:
> 
> 
>> On Mar 6, 2017, at 11:36 PM, Rien via swift-users <swift-users@swift.org> 
>> wrote:
>> 
>> On 07 Mar 2017, at 03:56, Edward Connell via swift-users 
>> <swift-users@swift.org> wrote:
>> 
>> I would like to have an Array implementation where I get more information 
>> than just "the whole thing changed". 
>> As a value type I get it, but lets say it's a list of 500 image info structs 
>> and it's bound to UI. You change one item, now the whole array changes and 
>> you have to rebuild the entire visual tree right? Rebuilding the state of 
>> dependent objects can be really expensive, not just UI things.
> 
> In Apple’s Foundation framework, Key-Value Observing (KVO) fills this need, 
> and can be used with NSMutableArray, including when it’s bridged to Swift. 
> But it doesn’t really transfer to a pure Swift environment since arrays are 
> value types: changing one item is actually replacing the entire array with a 
> new one (optimized through clever internal data-sharing.)
> 
> I would assume that the people working on the design of the Swift Foundation 
> library are thinking about similar observer APIs, but I don’t know the 
> details.
> 
> ―Jens
_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users

Reply via email to