Как и Sun Tzu сказал : лучше побеждать без боя . В моем случае всякий раз, когда я вижу такое сообщение об ошибке (т. Е. Несоответствие между добавленными строками и т. Д.). Я даже не отлаживаю ничего .. Я просто не делаю дополнительный вызов, где я перезагружаю строки и т. Д., Это 99% случаи, когда эта ошибка происходит.
Это распространенный сценарий, когда эта ошибка происходит: у меня есть UINavigationController
, и у нее есть UITableView
, когда я нажимаю на строку, она нажимает новый UITableView
и так далее. Эта ошибка всегда случается со мной, когда я выхожу последним UITableview
и возвращаюсь к UITableView
перед этим, на этом этапе я делаю ненужный вызов функции loadIt
, которая в основном вставляет строки и переадресует UITableView
,
Причина этого в том, что я ошибочно помещаю функцию loadIt в viewDidAppear:animated
, а не в viewDidLoad
. viewDidAppear:animated
вызывается каждый раз, когда отображается UITableView
, viewDidLoad
вызывается только один раз.
Использовать все
:
vector = zeros(1,10)
if 1 && all(vector == 0) %this comparision will work
'success'
end
Поскольку нули рассматриваются так же, как false
, вам не нужно использовать vector == 0
, как предлагает ptomato. ~any(vector)
- это "MATLAB-way" для проверки только нулевых значений.
if 1 && ~any(vector)
'success'
end
Расширяя проблему до массивов, вам придется использовать
array = zeros(5);
if 1 && ~any(array(:))
'success'
end