d
This commit is contained in:
Binary file not shown.
@@ -40,9 +40,14 @@ extension Main {
|
||||
btn.addTarget(self, action: #selector(Main.Core.selectButton), for: .touchUpInside)
|
||||
}
|
||||
|
||||
|
||||
let groups = memoryGroups(c: M())
|
||||
|
||||
// Выводим номер нажатой кнопки.
|
||||
didSelectButton
|
||||
.sink { i in print("ИГР MainP.viewDL didSB: '\(i)'") }
|
||||
.sink { i in
|
||||
print("ИГР MainP.viewDL didSB id/group: '\(i)'/'\(groups[Float(i)])'")
|
||||
}
|
||||
.store(in: &subscriptions)
|
||||
}
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ function memoryGroups(c) {
|
||||
var ids = utsIndexArray(c.itemsCount);
|
||||
ids.forEach(function (i) {
|
||||
// @ts-ignore
|
||||
items[i] = utsFloor(Number(i) / 2);
|
||||
items[Number(i)] = utsFloor(Number(i) / 2);
|
||||
});
|
||||
return items;
|
||||
}
|
||||
|
||||
@@ -11,13 +11,13 @@ func memoryGap() -> Float {
|
||||
return memorySide() + memorySpace()
|
||||
}
|
||||
|
||||
func memoryGroups(c: Context) -> Record<Float, Float> {
|
||||
var items: Record<Float, Float> = {};
|
||||
func memoryGroups(c: Context) -> [Float: Float] {
|
||||
var items: [Float: Float] = [:]
|
||||
// @ts-ignore
|
||||
let ids = utsIndexArray(c.itemsCount);
|
||||
ids.forEach { i in
|
||||
// @ts-ignore
|
||||
items[i] = utsFloor(Float(i) / 2)
|
||||
items[Float(i)] = utsFloor(Float(i) / 2)
|
||||
}
|
||||
return items;
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ function memoryGroups(c: Context): Record<number, number> {
|
||||
let ids = utsIndexArray(c.itemsCount);
|
||||
ids.forEach(i => {
|
||||
// @ts-ignore
|
||||
items[i] = utsFloor(Number(i) / 2)
|
||||
items[Number(i)] = utsFloor(Number(i) / 2)
|
||||
})
|
||||
return items;
|
||||
}
|
||||
|
||||
23
toSwift
23
toSwift
@@ -44,6 +44,7 @@ function convert(line) {
|
||||
result = protocolReplace(result);
|
||||
result = typeArrayReplace(result);
|
||||
result = forEachReplace(result);
|
||||
result = recordReplace(result);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -100,6 +101,28 @@ function protocolReplaceVariable(line) {
|
||||
return line;
|
||||
}
|
||||
|
||||
// Record<TypeA, TypeB> -> [TypeA: TypeB]
|
||||
// Record<TypeA, TypeB> = {} -> [TypeA: TypeB] = [:]
|
||||
function recordReplace(line) {
|
||||
if (!line.includes("Record")) {
|
||||
return line;
|
||||
}
|
||||
|
||||
let partsR = line.split("Record<");
|
||||
let typesAndEnding = partsR[1];
|
||||
let partsT = typesAndEnding.split(">");
|
||||
let types = partsT[0];
|
||||
let ending = partsT[1];
|
||||
let swiftTypes = types.split(", ");
|
||||
let was = `Record<${swiftTypes[0]}, ${swiftTypes[1]}>`;
|
||||
let now = `[${swiftTypes[0]}: ${swiftTypes[1]}]`;
|
||||
var result = line;
|
||||
result = result.replace(was, now);
|
||||
result = result.replace("] = {};", "] = [:]");
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
// Type[] -> [Type]
|
||||
function typeArrayReplace(line) {
|
||||
let parts = line.split(" ");
|
||||
|
||||
10
будущее
10
будущее
@@ -1,12 +1,8 @@
|
||||
|
||||
НАДО:
|
||||
* транслировать Record<type, type> в Swift
|
||||
* выводить группу элемента при нажатии в iOS
|
||||
* ввести словари:
|
||||
* тип - цвет
|
||||
* id - тип
|
||||
* new Map?
|
||||
https://timmousk.com/blog/typescript-dictionary/
|
||||
* проводить вычисления вывода группы элемента через модель
|
||||
* swift
|
||||
* web
|
||||
* окрашивать элементы в цвета по номерам при выборе
|
||||
* разрешать выбирать лишь два элемента
|
||||
* при выборе двух элементов сравнивать их цвет
|
||||
|
||||
Reference in New Issue
Block a user