Sobes.tech
Junior — Middle

რა დონე წვდომა გამოიყენება კლასის წევრისთვის ავტომატურად, თუ სხვა არ არის მითითებული?

sobes.tech AI

პასუხი AI-სგან

iOS (Objective-C და Swift) კლასის წევრებისთვის დეფოლტური წვდომის დონე დამოკიდებულია ენაზე:

  • Objective-C-ში, თუ არ არის მკაფიოდ მითითებული წვდომის მოდიფიკატორი, კლასის წევრები ითვლება @protected — ხელმისაწვდომია კლასის და მისი ქვესკლასების შიგნით.

  • Swift-ში, დეფოლტური წვდომის დონე არის internal, რაც ნიშნავს, რომ ის ხელმისაწვდომია მოდულში (აპლიკაცია ან ფრეიმვორკი), მაგრამ მის ფარგლებს გარეთ არა.

Swift-ის მაგალითი:

class MyClass {
    var value = 10  // internal დეფოლტური
}

ამიტომ, თუ არ არის მკაფიოდ მითითებული public, private ან fileprivate, თვისება value იქნება ხელმისაწვდომი მიმდინარე მოდულში.