Удалить подстроку в строке с помощью трафарета - PullRequest
0 голосов
/ 01 июня 2018

Я пытаюсь поиграться с Sourcery , чтобы расширить библиотеку.Я почти преуспел, но в какой-то момент у меня есть тип, возвращенный из функции, и это необязательно.Я хочу сделать это не обязательным.Для этого мне нужно как-то убрать вопросительный знак, но мне кажется, что язык его не поддерживает.Мой скрипт ниже, если он может как-то помочь:

{% for type in types.structs %}
    {% if type.name == "_R" %}
        {% for innerType in type.containedTypes %}
            {% if innerType.name == "_R.nib" %}
                {% for nib in innerType.containedTypes %}
extension {{ nib.name }} {
                    {% for method in nib.methods %}
                        {% if method.selectorName == "firstView(owner:options:)" %}
    func firstView(owner ownerOrNil: AnyObject?, options optionsOrNil: [NSObject : AnyObject]? = nil) ->
    {{ method.returnTypeName }}
    {
        return instantiate(withOwner: ownerOrNil, options: optionsOrNil)[0] as? {{ method.returnTypeName }}
    }
                        {% endif %}
                    {% endfor %}
}

                {% endfor %}
            {% endif %}
        {% endfor %}
    {% endif %}
{% endfor %}

В этом месте {{ method.returnTypeName }} У меня есть все возвращаемые типы, необязательные.Я хочу удалить знак вопроса.Возможно ли это?

1 Ответ

0 голосов
/ 01 июня 2018

Решил проблему, используя .unwrappedTypeName, где я хочу удалить ?

...