У вас есть ключ внутри другого ключа, поэтому вы не получаете значения, если числа 95577307, ...
имеют цель, но не должны быть значением, используйте его в качестве ключа, изменив способ структурирования данных:
access_lists: {
95577307: {
name: 'FelixJar1'
read: true
write: true
}
}
Это также поможет вам отсортировать / отфильтровать пользователей, которые имеют права на чтение / запись равные (true). https://firebase.google.com/docs/database/web/structure-data#flatten_data_structures
================= =========================
Вот как это делает Firebase: [ 1111]
"posts": {
"ts-functions": {
"metrics": { <===== it's the same key name
"views" : 1200000,
"likes" : 251000,
"shares": 1200,
},
"title" : "Why you should use TypeScript for writing Cloud Functions",
"author": "Doug",
},
"android-arch-3": {
"metrics": { <===== it's the same key name
"views" : 900000,
"likes" : 117000,
"shares": 144,
},
"title" : "Using Android Architecture Components with Firebase Realtime Database (Part 3)",
"author": "Doug",
}
},
Поскольку у них есть имя ключа metrics
, они могут индексировать его в правилах Firebase, а также иметь возможность фильтровать / сортировать / сортировать значения, например: metrics/views
Вы на другом рука есть 995055869, 950336178....
If you create an NSArray
you won't be able to add elements to it, since it's immutable. You should try using NSMutableArray
instead.
Also, you inverted the order of alloc
and init
. alloc
creates an instance and init
initializes it.
The code would look something like this (assuming getData
is a global function):
NSMutableArray *stringArray = [[NSMutableArray alloc] init];
for(int i=0; i< data.size; i++){
[stringArray addObject:getData(i)];
}