Я новичок в кодировании iPhone, и я пытаюсь передать структуру на свой второй VC через PrepareForSegue.Pass Struct через PrepareForSegue с Swift
В моем основном контроллере зрения у меня ниже структур
struct AccountStruct {
var account: String
var balance: Double
var objectId: String
}
var accountsFromStruct : [AccountStruct] = []
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
accountsFromStruct.append(AccountStruct(account: "Checking", balance: 451.455, objectId: "12354785"))
accountsFromStruct.append(AccountStruct(account: "Savings", balance: 871.455, objectId: "123dfdf5"))
let SecondVC = segue.destinationViewController as! PresentedViewController
SecondVC.passedAccountStruct = accountsFromStruct
}
затем на втором VC у меня есть ниже кода для установки вара держать передаются STRUCT уага passedAccountStruct: [PassedAccountStruct] = []
Моя ошибка, которую я получаю, равна «Невозможно преобразовать значение типа« ViewController.AccountStruct »в ожидаемый тип аргумента« PresentedViewController.PassedAccountStruct »»
Вашей структуры имеет типа AccountStruct не тип PassedAccountStruct. Измените [PassedAccountStruct] на [AccountStruct]. – Gruntcakes
Как сказал @SausageMachine, тип вашего второго контроллера просмотра должен быть [AccountStruct] не [PassedAccountStruct], также нет смысла инициализировать его пустым массивом с = []. Это должно быть установлено как необязательный параметр var, который будет равен нулю, пока вы не установите его в режиме segue. Это будет выглядеть как var passAccountStruct: [AccountStruct]? – user3847320