Ben aşağıdaki kod türüne Clang hataları almaya devam ve onlar hatalı olduğunu anlamaya olamaz veya çınlama tatmin edecek şekilde bunları çözmek için nasıl: kaçındıkları-yapmacık doğasını kenara bırakırsakClang "Potansiyel boş değer dizisi" hatası.
+ (NSString *)checkForLength: (NSString *)theString error: (NSError **)error {
BOOL hasLength = ([theString length] > 0);
if (hasLength) return theString;
else {
*error = [NSError errorWithDomain:@"ErrorDomain" code:hasLength userInfo:nil];
return nil;
}
}
potansiyel boş dereference: (bu yüzden yeterli açıklayıcı olduğunu için Clang nesnesi mi) örneği, Clang aşağıdaki itirazı hata atama hattında ana kirişler. '
NSError
Nesneleri Oluşturma ve Geri Alma' kodlama standartlarına göre 'hata' parametresi boş olabilir.
Bozuk bir Clang raporunu beğeniyorum. Söz konusu belgeyi okudum ve beklenenleri yapmanın bir yolunu göremiyorum; Bazı açık kaynaklı Cocoa kütüphanelerini kontrol ettim ve bu genel bir deyim gibi görünüyor. Herhangi bir fikir?
Ugh, bunu özlediğime inanamıyorum. Teşekkürler! – bbrown
Herhangi bir çökme veya analizör hatası/uyarısı olmaksızın milyonlarca kez “if (error) * error =…' kullandım. Bu şekilde devam edebilir miyim? –
Evet, boş göstericinin 0 ve false açık eşitliği, düz eski C'den tutulan nesnel bir C nesnesidir. Şahsen bunun kötü bir stil olduğunu düşünüyorum, ancak evet eğer gerçekten isterseniz if (error) 'i kullanabilirsiniz. –