26 Temmuz 2011, Salı
" 'inş NSString gönderme *' tür parametresi için 'NSString *' atar elemeleri" uyarısı
Gibi aramak istiyorum Sabitleri NSString var:
[newString isEqualToString:CONSTANT_STRING];
Herhangi bir yanlış kod burada?
Bu uyarı var:
'sabit NSString *' parametresi için tür 'NSString *' atar elemeleri gönderiyorum
Bunlar nasıl beyan edilmelidir?
CEVAP
26 Temmuz 2011, Salı
Aşağıdaki gibi sürekli dize bildirmeniz gerekir
NSString * const kSomeConstantString = @""; // constant pointer
yerine:
const NSString * kSomeConstantString = @""; // pointer to constant
// equivalent to
NSString const * kSomeConstantString = @"";
Önceki sonraki NSString
sabit bir nesneye bir işaretçi ise NSString
bir nesne sabit bir işaretçi.
NSString * const
kullanarak kSomeConstantString NSString
farklı bir nesneyi işaret etmek için Yeniden Atama engeller.
Yöntemi isEqualToString:
11* *türünde bir değişken bekliyor. Eğer sabit bir dize (const NSString *
) için bir işaretçi geçirmek beklediği daha farklı bir şey geçirmeden.
Ayrıca, NSString
nesneler zaten değişmez, onları const NSString
yapmak anlamsız.
Bunu Paylaş:
Benimki temel C için trojan uyarısı ve...
Hadoop &; platformunuz için yerel-hado...
Stop "erişim devam" için hata...
Href JavaScript bağlantıları için özni...
Bir WordPress kullanmak için bir&; var...