[swift-users] Overriding properties with limited availability

Jordan Rose jordan_rose at apple.com
Wed Aug 2 12:24:59 CDT 2017


I'm not sure why you're using 'override' in an extension. Did you mean to put that in a subclass? It seems to work for me there.

Yes, Swift will not let you replace existing methods/properties using an extension if it can statically see that the method/property already exists. (It's not even safe to do that in Objective-C, but the language doesn't stop you.)

Jordan


> On Aug 1, 2017, at 22:46, Rod Brown via swift-users <swift-users at swift.org> wrote:
> 
> Looks like this is a duplicate of this issue:
> 
> https://bugs.swift.org/browse/SR-1486 <https://bugs.swift.org/browse/SR-1486>
> 
> I’m curious if anyone knows whether that is actually a bug, or a behavioural choice on Swift’s part?
> 
> 
>> On 2 Aug 2017, at 10:31 am, Rod Brown via swift-users <swift-users at swift.org <mailto:swift-users at swift.org>> wrote:
>> 
>> Hi everyone,
>> 
>> Something I’ve come across in iOS 11 is that you can’t override properties that are only available on iOS 11 when deploying with a deployment target less than the current target.
>> 
>> For example the following code is invalid:
>> 
>> extension UIViewController {
>>     
>>     @available(iOS, introduced: 11.0)
>>     open override var additionalSafeAreaInsets: UIEdgeInsets {
>>         didSet {
>>             // Do work here only relevant to iOS 11
>>         }
>>     }   
>> }
>> 
>> This would be easily overridden in Obj-C, but I can’t do it in Swift. Is there any reason why this limitation exists?
>> 
>> Thanks,
>> 
>> Rod
>> _______________________________________________
>> swift-users mailing list
>> swift-users at swift.org <mailto:swift-users at swift.org>
>> https://lists.swift.org/mailman/listinfo/swift-users
> 
> _______________________________________________
> swift-users mailing list
> swift-users at swift.org
> https://lists.swift.org/mailman/listinfo/swift-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20170802/7858ab43/attachment.html>


More information about the swift-users mailing list