Yes, of course. It’s just the will to understand more low level stuffs about Swift. We downloaded the file and what we understand is that the root-class is always SwiftObject but if SWIFT_OBJC_INTEROP is defined it create the necessary “bridges” for working with ObjC. Many thanks for the kind answer, we go to bed because here is almost 2 o’clock am and tomorrow we have to go to the Apple Developer Academy.
Kind regards, Giacomo and Annino > On 9 May 2017, at 01:00, John McCall <rjmcc...@apple.com> wrote: > >> On May 8, 2017, at 6:46 PM, Giacomo Leopizzi <gi...@icloud.com> wrote: >> Our starting point was that in ObjC at the beginning of the execution, the >> root meta-class (most of the time NSObject) instantiates all the other >> meta-classes, that create the class as object for the software. > > This is somewhat like how a Smalltalk VM is bootstrapped, but there isn't any > real sense in which root classes control how classes are created or loaded in > ObjC. > >> In Swift is it the same? If so, which is the name of the root meta-class? > > The root class of a Swift class is a private implementation detail; it's not > guaranteed in any way. > > If you're just curious about the current implementation, you can look in > stdlib/public/runtime/SwiftObject.mm, but again, nothing in there is > something that you should rely on as a Swift programmer. > > John. > >> Thanks for the fast reply. >> >> Giacomo >> >>> On 9 May 2017, at 00:30, John McCall <rjmcc...@apple.com> wrote: >>> >>>> On May 8, 2017, at 6:21 PM, Giacomo Leopizzi via swift-dev >>>> <swift-dev@swift.org> wrote: >>>> Hello everyone! >>>> I was discussing with a friend about metaclasses in Objective-C. In Obj-C >>>> the root meta-class was the NSObject's one. >>> >>> ObjC does not have a single root class. Most ObjC classes inherit from >>> NSObject, but that is not guaranteed, and in fact there are other common >>> root classes including NSProxy. >>> >>>> When in a swift class you create a subclass of NSObject, the root >>>> metaclass should be the same. What happen when you delcare a class without >>>> NSObject dependence? There is an hidden root-class? Where can we read more >>>> about this topic? >>> >>> When ObjC interop is enabled, Swift classes that do not inherit from >>> NSObject use a private root class. However, that is a private >>> implementation detail and we don't promise much about it. >>> >>> Do you have any specific questions? >> >>> >>> John. >> > _______________________________________________ swift-dev mailing list swift-dev@swift.org https://lists.swift.org/mailman/listinfo/swift-dev