Получить представление байтового массива (byte[]
) изображения, затем использовать Convert.ToBase64String()
, st. например:
byte[] imageArray = System.IO.File.ReadAllBytes(@"image file path");
string base64ImageRepresentation = Convert.ToBase64String(imageArray);
Чтобы преобразовать изображение base4 обратно в System.Drawing.Image:
var img = Image.FromStream(new MemoryStream(Convert.FromBase64String(base64String)));
Вы можете использовать блок для выполнения любых действий после нажатия кнопки «назад». Следуйте приведенному ниже коду
1) Создайте блок в ResturantDetailsController
var back_block : (() -> Void)? = nil
2) Обновите действие кнопки «Назад» backPressed
@IBAction func backPressed(_ sender: Any) {
if let action = back_block {
action()
}
self.navigationController?.popViewController(animated: true)
}
3) VC1 при создании ResturantDetailsController
объекта.
let obj = ResturantDetailsController.loadController()
obj.back_block = {
//reload Your TableView
}
obj.restaurent_ID = restaurent_Id!
self.navigationController?.pushViewController(obj, animated: true)
Если вы используете UITableView
в VC1, затем перезагрузите его в viewWillAppear
, тогда вы получите обновление или это вы обновите свой список
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(true)
self.tableview.reloadData()
}
Пожалуйста, напишите этот код в методе viewWillAppear
в классе VC1:
self.view.setNeedsDisplay()
Это может помочь вам. Спасибо.