SORU
25 AĞUSTOS 2008, PAZARTESİ


'bir dize arasındaki fark ne sabit ve değişmez bir dize?

Objective-C VE ve bu deyimi rast geldiniz Kakao öğreniyorum:

Kakao çerçeveler dize hazır bilgi yerine genel bir dize sabitleri dizeleri almak sözlük anahtarları, bildirim ve özel durum adları, ve bazı yöntem parametreleri için kullanılan bekliyoruz.

Sadece yüksek seviye dillerde çalıştım o yüzden hiç dizeleri detayları o kadar dikkate almak zorunda. Bir dize arasındaki fark sabit ve dize nedir?

CEVAP
25 AĞUSTOS 2008, PAZARTESİ


Objective-C, sözdizimi @"foo"değişmez,değişmezNSString örneği. Mike edebi olarak bir dize sabit bir dize kabul yapmaz.

Objective-C genellikle faydalı olabiliryapınstajyer harflerden oluşan dizeler içinde derleme birimleri, onlar birleşim birden fazla kullanır, aynı harflerden oluşan dize ve mümkün için linker için ek staj boyunca derleme birimleri doğrudan bağlı olan bir tek ikili. Değişken ve değişmez dizeleri arasında Kakao ayırır ve harflerden oluşan dizeler her zaman da değişmez olduğundan, bu basit ve güvenli.)

Sürekliöte yandan dizeleri genellikle bu gibi sözdizimi kullanılarak bildirilen tanımlanmıştır:

// MyExample.h - declaration, other code references this
extern NSString * const MyExampleNotification;

// MyExample.m - definition, compiled for other code to reference
NSString * const MyExampleNotification = @"MyExampleNotification";

Sözdizimsel egzersiz noktası yapabilirsinizkullanırdize kullanımda bu dize yalnızca bir örneği var sağlayarak verimliçoklu çerçeveler bile üzerinde(paylaşılan kitaplıkları) aynı adres alanında. (const anahtar kelime yerleştirme konular; işaretçi sabit olmasını garanti kendisi olmasını sağlar.)

Yanan hafıza RAM 8 MB ile 25mhz kaldırır 68030 iş günü içinde olabileceği kadar büyütülecek bir şey olmasa da, eşitlik için dizeleri karşılaştırmak zaman alabilir. Eşit zaman dizelerin çoğunu da işaretçi eşit olacak sağlamaya yardımcı olur.

Diyelim ki, örneğin, adında bir nesne bildirimleri için abone olmak istiyorum. Eğer isimleri için sabit olmayan dizeleri kullanırsanız, NSNotificationCenter bildirim yayınlayarak ilgilenen belirlerken bayt bayt dize karşılaştırmaları çok yapıyoruz. Eğer bu karşılaştırmalar çoğu dizeleri karşılaştırılan aynı işaretçi çünkü kısa devre edilir, bu büyük bir zafer olabilir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Distractify

    Distractify

    1 Aralık 2011
  • ehowhome

    ehowhome

    22 NİSAN 2009
  • El SalvaLobo

    El SalvaLobo

    10 Temmuz 2006