Ringkasan
Lapisan data adalah kamus yang menyimpan informasi umum tentang aplikasi.
Kunci ini menggunakan seperangkat kunci standar sehingga dapat dibaca oleh pihak mana pun yang memahami spesifikasi tersebut. Status lapisan data diperbarui melalui API-nya. Misalnya, aplikasi dapat dimulai dengan dataLayer berikut:
{ title: "Original screen title" }
Karena status/data aplikasi dapat berubah, aplikasi dapat memperbarui dataLayer dengan panggilan seperti:
[dataLayer push:@{@"title": @"New screen title"}];
Sekarang lapisan data berisi:
{ title: "New screen title" }
Setelah push lainnya terjadi:
[dataLayer push:@{@"xyz": @3}];
dataLayer berisi:
{ "title": "New screen title", "xyz": 3 }
Contoh berikut menunjukkan cara kerja penggabungan array dan peta. Jika dataLayer asli berisi:
{ "items": @[@"item1", [NSNull null], @"item2", @{@"a": @"aValue", @"b": @"bValue"}] }
Setelah push ini terjadi:
[dataLayer push:@{@"items": @[[NSNull null], @"item6", kTAGDataLayerObjectNotPresent, @{@"a": [NSNull null]}]}
dataLayer berisi:
{ "items": @[[NSNull null], @"item6", @"item2", @{@"a": [NSNull null], @"b": @"bValue"}]} }
Dorongan terjadi secara sinkron; setelah push, perubahan telah tercermin dalam model.
Saat kunci event
didorong ke lapisan data, aturan untuk tag akan dievaluasi dan semua tag yang cocok dengan peristiwa ini akan diaktifkan. Misalnya, dengan penampung dengan tag yang aturan pengaktifannya adalah "peristiwa" sama dengan "openScreen", setelah push ini:
[dataLayer push:@{@"event", @"openScreen"}];
tag tersebut akan diaktifkan.
Fungsi Anggota Publik | |
(kosong) | - pushValue:forKey: |
Mengirim key-value pair ke lapisan data. | |
(kosong) | - push: |
Menggabungkan objek update yang diberikan ke dalam model data yang ada, memanggil setiap pemroses dengan update (setelah penggabungan terjadi). | |
(NSObject *) | - dapatkan: |
Menampilkan objek dalam model yang terkait dengan kunci yang diberikan. |
Dokumentasi Fungsi Anggota
- (void) pushValue: | (NSObject *) | value | |
{i>forKey<i}: | (NSObject *) | kunci | |
Mengirim key-value pair ke lapisan data.
Ini hanyalah metode praktis yang memanggil push:@{key: value}
.
- (void) push: | (NSKamus *) | info terbaru |
Menggabungkan objek update
yang diberikan ke dalam model data yang ada, memanggil setiap pemroses dengan update (setelah penggabungan terjadi).
Ini valid agar nilai dalam kamus (atau Array tersemat) berjenis NSNull
. Jika Anda ingin merepresentasikan nilai yang tidak ada (seperti indeks kosong dalam Daftar), gunakan objek kTAGDataLayerObjectNotPresent
.
Ini biasanya merupakan panggilan sinkron. Namun, jika saat thread mengeksekusi push, push lain terjadi dari thread yang sama, maka push kedua tersebut akan asinkron (push kedua akan ditampilkan sebelum perubahan dilakukan pada lapisan data). Push kedua dari thread yang sama ini dapat terjadi, misalnya, jika push lapisan data dilakukan sebagai respons terhadap pengaktifan tag. Namun, semua update akan diproses sebelum push terluar ditampilkan.
Jika update
berisi event
kunci, aturan akan dievaluasi dan tag yang cocok akan diaktifkan.
- Parameter:
-
update Objek update yang akan diproses
- (NSObject*) dapatkan: | (NSString *) | key |
Menampilkan objek dalam model yang terkait dengan kunci yang diberikan.
Jika kunci tidak ada, akan menampilkan nil
. Jika key
ada, tetapi NSNull
, akan menampilkan NSNull
.
Kunci dapat memiliki titik yang disematkan. Misalnya: kunci "a.b.c"
menampilkan nilai "c" kunci di kamus dengan tombol "b" dalam kamus dengan
kunci "a" pada model.