Sabit dizenizi aşağıdaki gibi bildirmelisiniz:
NSString * const kSomeConstantString = @""; // constant pointer
onun yerine:
const NSString * kSomeConstantString = @""; // pointer to constant
// equivalent to
NSString const * kSomeConstantString = @"";
Birincisi bir NSString
nesnenin sabit bir göstergesidir , ikincisi ise sabit bir NSString
nesnenin göstergesidir.
A kullanmak, NSString * const
kSomeConstantString öğesini farklı bir NSString
nesneyi işaret edecek şekilde yeniden atamanızı önler .
Yöntem isEqualToString:
tür argümanını bekliyor NSString *
. Bir işaretçiyi sabit bir dizeye ( const NSString *
) iletirseniz, beklediğinden farklı bir şey iletiyorsunuzdur.
Ayrıca, NSString
nesneler zaten değişmezdir, bu yüzden onları const NSString
yapmak anlamsızdır.