Nasıl gerçek özel bir örnek değişken yapmak için?
Dışarıdan erişilebilir değil o örnek bir değişken yapmak istiyorum. Objective-c bu mümkün gibi bir şey mi? Apple bu gibi özel değişkenleri falan var hatırlıyorum, ama eğer insanlar onları biliyor, onları kullanabilirler. Apple "özel API", ama belli ki Diğerleri eğer öğrenirlerse o şeyi erişimi vardır. bu aramalar
Şimdiye kadar böyle bir şey özel örnek bir değişken oluşturur inandım:
@interface MyClass : NSObject {
CGFloat weight;
}
@Hiçbir özelliği yok, @sentez, sadece yukarıdaki bildirim.
Ayrıca Apple bunu yaparken yanlışlıkla gizli örnek değişkenleri geçersiz olabilir, çünkü ama başkalarının yaptığını görmek gibi olmadığı bir yerde dediler _inFrontOfTheirPrivateİnstanceVariables, bir de ekliyor biliyorum.
Buradaki hile nedir?
CEVAP
{}
içinde @private
anahtar sözcüğünü izleyen tüm değişken tanımlama özel yapmak için kullanabilirsiniz. Varsayılan görünürlük @protected
Java protected
benzer ve bu genellikle iyi çalışır. Özellikle sınıf dışında doğrudan erişilebilir olması için @public
olarak bir değişkeni bildirmek gerek.
This Apple documentation değişken kapsamını ve görünürlüğü hakkında daha fazla bilgi vardır.
Ayrıca "özel API" ve özel değişkenler arasında bir fark yoktur Objective-C, yöntemleri özel yapamazsınız — kimse herhangi bir yöntemini çağırabilir. Oluşturmak için çeşitli yollar vardır "gizli" bir bakıma bu sorunun kapsamı dışında olan yöntemler, ama. Burada bir kaç soru ile ilgili
- About private instance variables in Objective-C
- What does “@private” mean in Objective-C?
- Is it possible to declare a method as private in Objective-C?
- Best way to define private methods for a class in Objective-C
Değişkenlerin önünde lider _ kadarıyla, Apple da "özel" yöntemler. bu önek saklı tuttuğunu farkında olarak Sorunları önlemek garanti etmek için en iyi yolu kendi değişkenleri ve yöntemleri için normal adlandırma kurallarını kullanın. Kakao bir şey alt sürece ancak, (NSObject dışında) herhangi bir problem olmaz oldukça emin olabilirsiniz.
Bir yöntem için geçirilen bağımsız değ...
Nasıl özel hata sayfaları ASP.NET MVC ...
Nasıl gerçek zamanlı bir arama gerçekl...
Nasıl özel bir görünüm Kakao Otomatik ...
Nasıl el ile özel bir değişken (ör: ti...