Для этого вам нужно убедиться, что ваша переменная index
содержит только целое число, а не какой-либо другой объект, который может содержать несколько значений (если «Bob» появляется более одного раза). В этом случае он будет содержать только одно значение, поскольку «Боб» появляется в вашей таблице только один раз, но вы получаете объект Int64Index
, который может содержать несколько целых чисел. То, что вы хотите, это просто старое целое число.
Следующее должно работать для вашей таблицы и для таблицы, где Боб действительно появляется несколько раз (он выберет индекс для первой строки, в которой появляется «Боб»):
index = (df['Name'] == 'Bob').idxmax()
The Функция idxmax
возвращает индекс элемента с самым высоким значением в серии (а значение True
выше, чем False
, поэтому возвращает индекс, имя которого равно «Боб»). В случае, когда есть два или более высоких значения, возвращается первый индекс.
Если вы переопределяете метод, вы все равно должны вызывать метод в супер. Даже если суперкласс сегодня ничего не делает с этим, Apple может однажды изменить реализацию, и ваш код загадочным образом перестанет работать. Если вам действительно не нужно ничего делать с этим методом, полностью исключите его из своего кода, и метод супер будет работать как обычно, без какого-либо вмешательства с вашей стороны.
Как говорит Маркус, UIViewController ничего не делает в своем методе viewDidLoad, поэтому вам не нужно его вызывать. Тем не менее, это хорошая привычка, если вы изменяете структуру наследования и вдруг класс, который раньше наследовал от UIViewController, теперь наследует от того, что делает , что-то делает в методе viewDidLoad.
Вам не нужно вызывать [super viewDidLoad]
Насколько я знаю, viewDidLoad в суперклассе (UIViewController) - только пустая функция, которая вызывается, когда ViewController инициализируется с помощью nib-файла.
Поэтому, если вам нужно выполнить какую-либо инициализацию, вы должны переопределить эту функцию и поместить туда свой код.
Нет, вам не нужен для вызова [super viewDidLoad]. Изменить: но читайте ниже, потому что я думаю, что вам определенно следует .
Давайте будем реальными: Apple не собирается нарушать работу тысяч приложений, в том числе основанных на их опубликованном образце кода, путем при принятии решения о событии, которое они в настоящее время не обрабатывают, внезапно необходимо сделать что-то, что разработчики могут или не захотят останавливать, и очень важно, чтобы, если вам не нужно другое поведение, вы не останавливаете событие.
Изменить: Наличие Я смотрел, как Apple обеспечивает совместимость еще на один год, и теперь рекомендую изучить и использовать правильный шаблон. Хотя я сомневаюсь, что двоичный файл вашего приложения когда-либо внезапно перестанет работать, он Ясно, что iPhone определяет, для какого SDK был создан ваш двоичный файл, и на его основе изменяет некоторое поведение ОС.
Apple может однажды потребовать, чтобы в некоторых будущих SDK следовали определенной схеме. Это не повлияет на вас, пока вы не выполните повторную сборку с использованием последней версии Xcode + SDK, но тогда вы получите эти перерывы без каких-либо изменений исходного кода. Изучите этот образец и следуйте ему, чтобы быть в безопасности.