It's semi-intended. When the compiler imports (NS)Operation into Swift, it uses the Swift naming convention…but it also declares a property with the old name, 'executing', in order to give better error messages if someone tries to use the Objective-C name. That's what's colliding with your private 'executing' property.
We should improve this experience on the compiler side, either by having a 'nonoverride' attribute or similar, or just by noting that you wouldn't try to override something with a private property not declared 'override' in the first place. But since the workaround is so simple it hasn't been a priority. Sorry for the trouble, Jordan > On Sep 4, 2017, at 05:01, Adrian Zubarev via swift-users > <swift-users@swift.org> wrote: > > Hi there, > > before filing a new issue I would like to ask if this is intended behaviour > or a bug: > > The Foundation class Operation which has it’s roots in Objective-C has a few > readonly properties like the following one: > > @available(iOS 2.0, *) > open class Operation : NSObject { > ... > open var isExecuting: Bool { get } > ... > } > On the other hand the Objective-C header looks like this: > > NS_CLASS_AVAILABLE(10_5, 2_0) > @interface NSOperation : NSObject { > ... > @property (readonly, getter=isExecuting) BOOL executing; > ... > @end > Now I want to create a custom subclass of Operation and override isExecuting, > everything works fine until I try to create a private stored property named > executing: > > final class TransitionOperation : Operation { > // error: cannot override with a stored property 'executing' > private var executing = false > > override var isExecuting: Bool { > ... > } > } > I’m a little bit confused here: > > Is this intended behaviour or a bug? > The Foundation implemented in Swift is not used for iOS deployment, instead > the Obj-C one is used right? > > > > > _______________________________________________ > 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