[swift-users] Cannot subclass a class with objc_subclassing_restricted attribute

Rick Mann rmann at latencyzero.com
Mon Apr 17 03:09:34 CDT 2017


> On Apr 14, 2017, at 22:33 , Guillaume Lessard <glessard at tffenterprises.com> wrote:
> 
> Your class probably needs to be declared as open. 
> 
> @objc open class Camera : NSObject {}

Thanks. Sadly, that does not fix it.


> Guillaume Lessard
> 
>> On Apr 14, 2017, at 20:41, Rick Mann via swift-users <swift-users at swift.org> wrote:
>> 
>> I'm refactoring some Objective-C code to inherit from a new Swift super class. This has been going okay, and I've been cleaning up build errors as I spot them (some auxiliary enums caused enum name changes, etc.).
>> 
>> But my last error seems to be that I can't subclass the Swift class: "Cannot subclass a class with objc_subclassing_restricted attribute". I didn't notice it before, and all the online references that say you can't subclass a Swift class point to a Swift document that no longer mentions that. They also don't say what they mean by "Swift" class (e.g. is it not marked with @objc?).
>> 
>> In any case, my Swift class looks like:
>> 
>> @objc
>> class
>> Camera : NSObject
>> {
>>   ...
>> }
>> 
>> And my ObjC class looks like:
>> 
>> @interface
>> MCPCamera : Camera
>> 
>>   ...
>> 
>> @end
>> 
>> I feel like this is a reasonable thing to try to do. Is it just not possible?
>> 
>> -- 
>> Rick Mann
>> rmann at latencyzero.com
>> 
>> 
>> _______________________________________________
>> swift-users mailing list
>> swift-users at swift.org
>> https://lists.swift.org/mailman/listinfo/swift-users
> 


-- 
Rick Mann
rmann at latencyzero.com




More information about the swift-users mailing list