Sobes.tech
Junior — Middle

Milyen hozzáférési szintet alkalmaznak alapértelmezés szerint egy osztálytagra, ha nem adnak meg másikat kifejezetten?

sobes.tech MI

Válasz az MI-től

Az iOS-ben (Objective-C és Swift) az osztálytagok alapértelmezett hozzáférési szintje a nyelvtől függ:

  • Objective-C-ben, ha nem adunk meg kifejezetten hozzáférési módosítót, az osztálytagok @protected-ként vannak értékelve — az osztályon belül és az alosztályokban elérhetőek.

  • Swift-ben az alapértelmezett hozzáférési szint az internal, azaz a modulon belül (alkalmazás vagy keretrendszer) elérhető, de azon kívül nem.

Swift példában:

class MyClass {
    var value = 10  // alapértelmezett internal
}

Ez azt jelenti, hogy kifejezett public, private vagy fileprivate megjelölés nélkül a value tulajdonság az aktuális modulon belül elérhető lesz.