Sınıf B ve C sınıfı için süper sınıf olan A Sınıfı var. Sınıf A nesnelerini Sınıf A'da tanımlanan 'statik' NSMutablearray içine kaydetmem gerekiyor. Sınıftaki yöntemleri kullanarak MSMutableArray'da depolanan verileri değiştirmek mümkün müdür B ve C sınıfı mı? Statik dizi nasıl oluşturulur ve başlatılır? Bir örnek daha fazla yardımcı olacaktır. şimdiden teşekkürler.Nesne c'de bir sınıfta Statik NSMutableArray nasıl oluşturulur?
7
A
cevap
14
İşte bunu yapmanın bir yolu.
@interface ClassA : NSObject
{
}
-(NSMutableArray*) myStaticArray;
@end
@implementation ClassA
-(NSMutableArray*) myStaticArray
{
static NSMutableArray* theArray = nil;
if (theArray == nil)
{
theArray = [[NSMutableArray alloc] init];
}
return theArray;
}
@end
Bu, gerçek single'lar yerine oldukça çok kullandığım bir model. ClassA ve alt sınıflarından nesneler bu gibi kullanabilirsiniz:
[[self myStaticArray] addObject: foo];
Eğer örneğin düşünebilirsiniz varyasyonları vardır Yöntemi bir sınıf yöntemi haline getirebilirsiniz. Ayrıca, çok iş parçacıklı bir ortamda yöntem iş parçacığı güvenli hale getirmek isteyebilirsiniz. Örneğin.
-(NSMutableArray*) myStaticArray
{
static NSMutableArray* theArray = nil;
@synchronized([ClassA class])
{
if (theArray == nil)
{
theArray = [[NSMutableArray alloc] init];
}
}
return theArray;
}
İlgili konular
- 1. NSMutableArray nasıl oluşturulur ve buna belirli bir nesne nasıl atanır?
- 2. Statik bir fabrika yöntemi kullanarak nasıl nesne oluşturulur?
- 3. Statik kütüphaneden paylaşılan bir nesne dosyası nasıl oluşturulur
- 4. Aynı adda bir sınıfta statik ve statik olmayan yöntem JAVA
- 5. Nesne c-iPhone uygulamasında nsmutablearray nasıl aranır?
- 6. xKod/Bildirme Statik Metotlar sınıfta
- 7. NSMutableArray öğesinin başına bir nesne ekleyin?
- 8. Statik bir sınıfta veri depolama [PHP]
- 9. Statik değişkeni statik olmayan bir sınıfta kilitlemek güvenli midir?
- 10. renReturn aynı sınıfta nesne Java'da nesne?
- 11. NSMutableArray
- 12. Bir NSMutableArray öğesinin belirli bir dizinine nesne eklenmesi
- 13. Hızlı bir genel sınıfta statik sabit nasıl tanımlanır?
- 14. Bir ASP.NET web uygulamasında statik sınıfta bildirilen kaynaklar nasıl dağıtılır
- 15. NSMutableArray yapılarını nasıl oluşturabilirim?
- 16. 2 tür nesne içeren NSmutableArray öğesini sırala?
- 17. C++ statik kütüphane - .lib dosyası nasıl oluşturulur.
- 18. bir NSMutableArray
- 19. NSMutableArray
- 20. Sadece bir proje için sınıfta bağımlılık grafiği nasıl oluşturulur?
- 21. başka bir sınıfta yapılan bir nesne için bir alan
- 22. Başka bir sınıfta statik olmayan bir yönteme statik bir başvuru yapmak
- 23. NSMutableArray
- 24. R'de 'preprocess' işlevinden nasıl bir nesne oluşturulur?
- 25. Çok özellikli bir nesne nasıl oluşturulur?
- 26. React'ta bir nesne dizisi nasıl oluşturulur?
- 27. mdx çıkış karakteri CDE Pentaho
- 28. NSMutableArray
- 29. NSMutableArray, Sürekli Bellek Ayırma'da düzenli bir nesne koleksiyonudur mu?
- 30. Property 'count', 'NSMutableArray *' türünde bir nesne üzerinde bulunamıyor lldb
Bu ,Array için bir bellek sızıntısına neden olmaz mı? – tbag
Hiç sızıntı yapmaz --Array statik dizi olarak tanımlanır, böylece bu nesneyi yalnızca bir kez başlatır. – deathhorse
@JeremyP şimdi bunu buluyor. Sadece bunun için alkış demek istedim. Harika çözüm! –