Hi Rod and Tony,

This looks like it has been fixed. I tried replacing the String with the 
KeyPath and (NS)Operation seems to work like a charm.

Thank you so much guys !!! 

Love KeyPath … am so excited. :D

I will close the bug report that I created. 

Regards,
Muthu




> On 17 Jun 2017, at 8:02 AM, somu subscribe <somu.subscr...@gmail.com> wrote:
> 
> Hi Rod and Tony,
> 
> Thanks a lot !
> 
> Regards,
> Muthu
> 
> On 17 Jun 2017, at 12:11 AM, Tony Parker <anthony.par...@apple.com 
> <mailto:anthony.par...@apple.com>> wrote:
> 
>> Hi Rod,
>> 
>> Thanks, we’re looking into it.
>> 
>> - Tony
>> 
>>> On Jun 15, 2017, at 9:14 PM, Rod Brown <rodney.bro...@icloud.com 
>>> <mailto:rodney.bro...@icloud.com>> wrote:
>>> 
>>> 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 <mailto: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 
>>>>> <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 
>>>> <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