Как преобразовать класс Mirror в класс Orginal или структуру, используя язык swift - PullRequest
0 голосов
/ 09 января 2019

У меня вопрос по поводу зеркального отражения. я преобразовываю свою структуру в зеркало, чтобы перебрать все свойства, чтобы получить значения, и после того, как я переберу ее и изменим значения в свойствах, мне нужно снова преобразовать зеркало в исходную структуру со значениями, которые я редактировал, но я не могу, это быстро у какого языка есть способ сделать это преобразование?

код ниже

//MARK:- loop get tags
    func getTags(filter: Any){

        let getTags = Mirror(reflecting: filter)
        for (tag) in getTags.children {

            if let getTag = tag.value as? String {
                if let _ = Int(getTag) {

                }else {
                    if getTag != "" && getTag != "All" {
                        arrayOfTags.append(getTag)
                    }
                }
            }// if let
        }// end for loop

    }

спасибо

1 Ответ

0 голосов
/ 31 января 2019

Вы не можете построить структуру без жесткой манипуляции с памятью. Вы можете создавать объекты с функциями, которые все еще доступны в Objective C. Вы можете установить свойство с помощью функции setValue forKey. Ваши объекты должны быть получены из NSObject.

Делать это и учитывать все сценарии - довольно сложная задача. Существует библиотека CocoaPod, которая может помочь с этим. Взгляните на EVReflection Вы можете создать словарь из вашего объекта и объект из вашего словаря.

...