Getelements - doesn't work properly

I’m trying to get all elemetns and their values. I have a table with several items in it (IOS)

All the items within the table have the same name but different values, while I’m trying to get elements in one try by using

List l = driver.findElements(By.name(name));
and then iterating trough the list and pulling the value by

((MobileElement) l.get(i)).getAttribute(“value”);
I’m getting the correct value only on first iteration (first element) , all others are return empty value…

if I’m changing the code to :

    //1
    List<WebElement> l = driver.findElements(driver, By.name(name));
    String val = ((MobileElement) weList.get(0)).getAttribute("value");

    //2
    l = driver.findElements(driver, By.name(name));
    val = ((MobileElement) weList.get(1)).getAttribute("value");

    //3
    l = driver.findElements(driver, By.name(name));
    val = ((MobileElement) weList.get(2)).getAttribute("value");

I’m getting the correct values.

It seems that I need to pull the element each time I’m trying to access it. Is it a bug , or I just miss something ?