«automatic-ref-counting» etiketlenmiş sorular

Otomatik Referans Sayımı (ARC), Objective-C ve Swift nesnelerinin otomatik bellek yönetimini sağlayan bir derleyici özelliğidir.

18
Bir projedeki tek bir dosya için ARC'yi nasıl devre dışı bırakabilirim?
ARC'yi projemde başarıyla kullanıyorum. Ancak, ARC kurallarının şu anda biraz daha kırılgan olduğu birkaç dosyayla (örneğin, birim testlerinde ve sahte nesnelerde) karşılaştım. Bu seçeneği bulamadım, ancak dosya başına ARC'yi devre dışı bırakmanın bir yolu olduğunu duydum. Mümkün mü? ARC'yi dosya başına nasıl devre dışı bırakabilirim?

19
performSelector, seçici bilinmediğinden sızıntıya neden olabilir
ARC derleyicisi tarafından aşağıdaki uyarıyı alıyorum: "performSelector may cause a leak because its selector is unknown". İşte yaptığım şey: [_controller performSelector:NSSelectorFromString(@"someMethod")]; Neden bu uyarıyı alıyorum? Derleyicinin seçicinin var olup olmadığını kontrol edemediğini anlıyorum, ancak bu neden bir sızıntıya neden olur? Ve artık bu uyarıyı almamak için kodumu nasıl değiştirebilirim?

11
IBOutlet'ler ARC altında güçlü mü yoksa zayıf mı olmalı?
ARC kullanarak yalnızca iOS 5 için geliştiriyorum. Meli IBOutletiçin s UIViews (ve alt sınıfları) olmak strongveya weak? Aşağıdaki: @property (nonatomic, weak) IBOutlet UIButton *button; Tüm bunlardan kurtulacaktım: - (void)viewDidUnload { // ... self.button = nil; // ... } Bunu yaparken herhangi bir sorun var mı? Şablonlar strong, 'Arayüz Oluşturucu' düzenleyicisinden …

9
Swift'te her zaman [sahipsiz benliği] kullanalım mı
WWDC 2014 oturum 403 Orta Swift ve konuşma metninde aşağıdaki slayt vardı Konuşmacı bu durumda, eğer [unowned self]orada kullanmazsak , bir bellek sızıntısı olacağını söyledi. Bu her zaman [unowned self]iç kapakta kullanmamız gerektiği anlamına mı geliyor ? On Swift Hava app ViewController.swift hattı 64 , ben kullanmıyorum [unowned self]. Ama …

8
Objective-C ARC: güçlü - elde tutma ve zayıf - atama
ARC tarafından sunulan özellikler için iki yeni bellek yönetimi özelliği vardır strongve weak. Bunun dışında copy, tamamen farklı bir şey olduğu gibi, vs ve vs arasında herhangi bir fark var mı?strongretainweakassign Anladığım kadarıyla, buradaki tek fark , işaretçiye weakatayacak nil, ancak assignolmayacak, bu da bırakıldıktan sonra işaretçiye bir mesaj gönderdiğimde …


2
Apple neden ARC altında tekli kalıbı uygulamak için dispatch_once kullanılmasını öneriyor?
ARC altında bir singletonun paylaşılan örnek erişimcisinde dispatch_once kullanmanın tam nedeni nedir? + (MyClass *)sharedInstance { // Static local predicate must be initialized to 0 static MyClass *sharedInstance = nil; static dispatch_once_t onceToken = 0; dispatch_once(&onceToken, ^{ sharedInstance = [[MyClass alloc] init]; // Do any other initialisation stuff here }); …


8
Bir projeyi ARC'ye dönüştürürken “anahtarlama durumu korumalı kapsamda” ne demektir?
Bir projeyi ARC'ye dönüştürürken "anahtarlama durumu korunan kapsamdadır" ne anlama gelir? Xcode 4 Düzenle -> Refactor -> Objective-C ARC dönüştürmek kullanarak bir proje ARC kullanmak için dönüştürüyorum ... Aldığım hatalardan biri "anahtar" korumalı kapsamda "anahtarları" bazı " bir anahtar kutusu. Düzenle, İşte kod: HATA "varsayılan" durumda işaretlenir: - (UITableViewCell *)tableView:(UITableView …

10
Anlamsal Sorun: Mülkün sentezlenen alıcısı, 'sahip olunan' nesneleri döndürmek için Kakao adlandırma kuralını izler
Şu anda uygulamamı geliştirmeye çalışırken iOS 5 SDK'sını kullanıyorum. Bir NSString özelliği yapmak ve sonra .m dosyasında (ben bunu daha önce hiçbir sorun ile yaptım) sentezlemek için çalışıyorum. Şimdi bununla karşılaştım: "Anlamsal Sorun: Mülkün sentezlenen alıcısı," sahip olunan "nesneleri döndürmek için Kakao adlandırma kuralını izliyor." Bu benim kodum: .h @interface …

6
Kendini zayıf referansını her zaman ARC'de bloğa mı geçireceksin?
Objective-C'de blok kullanımı konusunda biraz kafam karıştı. Şu anda ARC kullanıyorum ve uygulamamda çok fazla blok var, şu anda selfzayıf referansı yerine her zaman atıfta bulunuyor . Bu blokların selftutulup tutulmalarının nedeni bu olabilir mi? Soru, bir blokta her zaman bir weakreferans kullanmalı selfmıyım? -(void)handleNewerData:(NSArray *)arr { ProcessOperation *operation = …


5
Objective-C'deki otomatik referans sayımı ne tür sızıntıları önlemez veya en aza indirmez?
Mac ve iOS platformlarında, bellek sızıntılarına genellikle yayınlanmamış işaretçiler neden olur. Geleneksel olarak, her birinin ilgili bir yayın mesajına sahip olduğundan emin olmak için alaşımlarınızı, kopyalarınızı ve sakladığınızı kontrol etmek her zaman büyük önem taşımaktadır. Xcode 4.2 ile gelen araç zinciri, LLVM derleyicisinin en son sürümü ile otomatik referans sayımı …

8
Bir API uygularken bloklar halinde kendini yakalamayı nasıl önleyebilirim?
Çalışan bir uygulama var ve ben Xcode 4.2 ARC dönüştürmek üzerinde çalışıyorum. Ön kontrol uyarılarından biri, selftutma döngüsüne yol açan bir blokta güçlü bir şekilde yakalamayı içerir . Sorunu göstermek için basit bir kod örneği yaptım. Bunun ne anlama geldiğini anlıyorum ama bu tür bir senaryoyu uygulamak için "doğru" veya …

1
Özel dealloc ve ARC (Objective-C)
Küçük iPad uygulamamda bir gözlemci kullanan bir "dil değiştirme" fonksiyonum var. Her görünüm denetleyicisi, sırasında gözlemcime kendini kaydeder viewDidLoad:. - (void)viewDidLoad { [super viewDidLoad]; [observer registerObject:self]; } Kullanıcı "dili değiştir" düğmesine bastığında, yeni dil modelime kaydedilir ve gözlemci bilgilendirilir ve updateUi:kayıtlı nesneleri üzerinde bir seçici çağırır . TabBarController içinde görünüm …

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.