Поэтому у меня есть один класс:Неправильные значения массива при доступе к массиву из другого класса?
class FoodListTable: UITableViewController
Одно свойства я устанавливаю этот класс массив:
var calorieNumberArray = [0,0,0,0,0,0,0,0,0]
Причина у меня есть этот массив для различных значений на основе, если бы ряд (s) выбрано/(с использованием типа доступности TableView Checkmark). Я сделал несколько тестов, и когда выбрана строка (строки), значения массива меняются правильно. У меня также есть переменная, которая находит сумму значений в calorieNumberArray
:
var calorieTotal: Float {
return calorieNumberArray.reduce(0 as Float) { $0 + Float($1) }
}
У меня также есть еще один класс:
class Menu: Calculator // Calculator class is of type UIViewController
I переход от FoodListTable
класса к Menu
класса с помощью навигационной панели. В методе ViewDidLoad класса menu
, я пытаюсь получить доступ к значениям calorieNumberArray
и calorieTotal
:
override func viewDidLoad() {
let foodListTableAccess = FoodListTable()
println(foodListTableAccess.calorieNumberArray)
println(foodListTableAccess.calorieTotal)
И это то, что отображается в консоли:
[0, 0, 0, 0, 0, 0, 0, 0, 0] // calorieNumberArray
0.0 // calorieTotal
Как я могу получить доступ класс FoodListTable
правильно из класса Menu
, чтобы значения calorieNumberArray
и calorieTotal
остались прежними и не сбрасывались в исходное значение? Спасибо!
Вы создаете новый экземпляр класса FoodListTable. Вам нужно передать ссылку на существующий экземпляр. См. Http://stackoverflow.com/questions/26662256/how-to-pass-data-from-one-view-controller-to-the-other-swift, например – Paulw11
Я прочитал этот вопрос и ответ, и я добрый понять, как я могу передать переменную. Если возможно, можно ли каким-либо образом создать ответ о том, как передать эту переменную в этом сценарии? Я новичок в программировании, поэтому многие части другого ответа смущают меня. Спасибо @ Paulw11 – TheCentral
Когда вы говорите, что вы переходите между ними с помощью строки меню, вы собираетесь «вернуться» в класс «Меню» или вперед? – Paulw11