SORU
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ş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jimmie Jones

    Jimmie Jones

    16 Kasım 2007
  • Attempts at least

    Attempts at

    1 Ocak 2007
  • USI Events

    USI Events

    6 AĞUSTOS 2013