Hi Tony and Somu,

I have an open radar for this one which has been outstanding for a few months.

Radar #32191242

Hope this helps.

- Rod



> On 15 Jun 2017, at 10:27 am, Tony Parker via swift-users 
> <swift-users@swift.org> wrote:
> 
> Hi Somu,
> 
> You can certainly file a bug for us. It may be something we are already 
> tracking or already fixed, but the bug report will let us double check that.
> 
> Thanks,
> - Tony
> 
>> On Jun 13, 2017, at 12:33 PM, somu subscribe via swift-users 
>> <swift-users@swift.org <mailto:swift-users@swift.org>> wrote:
>> 
>> Thanks a lot Jordan for pointing out the root cause.
>> 
>> The underlying executing and finished properties are readonly properties.
>> 
>> For an Asynchronous operation I had to override it tell when the 
>> asynchronous operation completes. 
>> 
>> Since they are readonly properties I am unable to call the super on them to 
>> set values.
>> 
>> I can still use String, was just wondering if there was a way to do it using 
>> KeyPath. It is more out of enthusiasm to try out the KeyPath feature in the 
>> project :) 
>> 
>> Would it be appropriate to file a bug report for the implementation of 
>> Operation ?
>> 
>> Thanks and regards,
>> Muthu
>> 
>> 
>> 
>>> On 14 Jun 2017, at 1:32 AM, Jordan Rose <jordan_r...@apple.com 
>>> <mailto:jordan_r...@apple.com>> wrote:
>>> 
>>> Hi, Muthu. This is a longstanding issue with Operation—the Objective-C name 
>>> of the property is just "executing", but the KVO keys that the implementors 
>>> used is "isExecuting". Swift isn't set up to deal with this difference.
>>> 
>>> Fortunately, the base implementation of Operation already knows how to send 
>>> the KVO notifications, so you shouldn't have to override these properties 
>>> at all. If you still want to for some other reason, you can call super 
>>> instead of storing to a private property.
>>> 
>>> Hope that helps,
>>> Jordan
>>> 
>>> 
>>>> On Jun 13, 2017, at 06:40, somu subscribe via swift-users 
>>>> <swift-users@swift.org <mailto:swift-users@swift.org>> wrote:
>>>> 
>>>> Hi,
>>>> 
>>>> I am having trouble using KeyPath to KVC (Key Value Code) in Swift 4.
>>>> 
>>>> I have a subclass of Operation and I am overriding the isFinished and 
>>>> isExecuting property.
>>>> 
>>>> Problem:
>>>> - When I use KeyPath, the completionBlock of the operation is not invoked.
>>>> - However when I use String instead of KeyPath, the completionBlock is 
>>>> invoked.
>>>> 
>>>> Questions:
>>>> - Am I missing something ? 
>>>> - Is there a way to fix it using KeyPath ?
>>>> 
>>>> Code:
>>>> 
>>>>     override var isExecuting : Bool {
>>>>         
>>>>         get {
>>>>             return _executing //property in the class
>>>>         }
>>>>         
>>>>         set {
>>>>             willChangeValue(for: \.isExecuting)
>>>>             _executing = newValue
>>>>             didChangeValue(for: \.isExecuting)
>>>>         }
>>>>     }
>>>>     
>>>>     override var isFinished : Bool {
>>>>         
>>>>         get {
>>>>             return _finished //property in the class
>>>>         }
>>>>         
>>>>         set {
>>>>             willChangeValue(for: \.isFinished)
>>>>             _finished = newValue
>>>>             didChangeValue(for: \.isFinished)
>>>>         }
>>>>     }
>>>> 
>>>> 
>>>> Configuration:
>>>> - Xcode - 9.0 beta (9M136h) 
>>>> - Tested on Simulator (iOS 11)
>>>> - macOS Sierra - 10.12.5 (16F73)
>>>> 
>>>> 
>>>> Thanks and Regards,
>>>> Muthu
>>>> _______________________________________________
>>>> swift-users mailing list
>>>> swift-users@swift.org <mailto:swift-users@swift.org>
>>>> https://lists.swift.org/mailman/listinfo/swift-users 
>>>> <https://lists.swift.org/mailman/listinfo/swift-users>
>>> 
>> 
>> _______________________________________________
>> swift-users mailing list
>> swift-users@swift.org <mailto:swift-users@swift.org>
>> https://lists.swift.org/mailman/listinfo/swift-users
> 
> _______________________________________________
> swift-users mailing list
> swift-users@swift.org
> https://lists.swift.org/mailman/listinfo/swift-users

_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users

Reply via email to