You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/3.builder.md
+25Lines changed: 25 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -211,6 +211,31 @@ void build(sets::Builder& b) {
211
211
}
212
212
```
213
213
214
+
### Динамические ID
215
+
Если нужны динамические виджеты с привязкой к БД и автоматическим генерированием имён с индексами в цикле, то нужно сложить строку (например через String) и взять у неё хэш:
216
+
217
+
```cpp
218
+
for (int i = 0; i < 5; i++) {
219
+
b.Switch(SH( (String("switch") + i).c_str() ));
220
+
}
221
+
```
222
+
223
+
Также можно использовать библиотеку [StringN](https://github.com/GyverLibs/StringN) - она работает в статической памяти и многократно быстрее String, а также сама умеет считать хэш:
224
+
225
+
```cpp
226
+
for (int i = 0; i < 5; i++) {
227
+
b.Switch((String8("switch") + i).hash());
228
+
}
229
+
```
230
+
231
+
БД умеет работать со строками напрямую и сама берёт у них хэш:
232
+
233
+
```cpp
234
+
for (int i = 0; i < 5; i++) {
235
+
db.init(String("switch") + i);
236
+
}
237
+
```
238
+
214
239
### Иконки лейблов
215
240
Можно использовать emoji, они неплохо смотрятся в меню. Например с [удобного сайта](https://symbl.cc/ru/emoji/)
0 commit comments