Как создать универсальный массив для добавления любого представления - PullRequest
0 голосов
/ 07 ноября 2019

Есть ли способ добавить все представления?

        View.Add(textFieldUser);
        View.Add(textFieldPassword);
        View.Add(buttonLogin);

этот путь очень ленив, я хочу добавить с функцией и массив

public void add(UIViewController v, T[] arr){
    for(view in arr[i]){
      v.Add(view)
    }
}

его возможно?

1 Ответ

0 голосов
/ 07 ноября 2019

То, что вы написали, вполне приемлемо, однако, если вы ищете удобство вызова метода в реальном объекте UIViewController, то вы можете создать свой собственный метод расширения, чтобы сделать то же самое.

public static class UIViewControllerExtensions
{
    public static void AddRange(this UIViewController v, params UIView[] arr){
        for(view in arr[i]){
          v.Add(view)
        }
    }
}

, который затем можно назвать:

View.AddRange(textFieldUser, textFieldPassword, buttonLogin);

или как:

var views = new UIView[] 
{
    textFieldUser, 
    textFieldPassword, 
    buttonLogin
}
View.AddRange(views)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...