viewDidLoad будет вызываться сразу после загрузки представления, либо из вашей NIB, либо из вашей реализации loadView. Представление загружается при первом обращении к свойству view контроллера представления, а не когда контроллер представления выделен или в какой-то более поздний момент.
Это означает, что loadView (реализация по умолчанию, которая загружает ваш NIB, если он у вас есть), а затем viewDidLoad в первый раз вызывается во второй строке, потому что вы обращаетесь к свойству tableView вашего контроллера представления и, конечно, происходит до того, как вы фактически установите значение для свойства theID контроллера представления. Конечно, к моменту загрузки содержимого вашей таблицы (что не произойдет до тех пор, пока табличное представление не появится, если вы сами не вызовете -reloadContent в другом месте), ваше свойство theID будет установлено.
Вы можете очень просто самостоятельно проверить это, установив две точки останова в отладчике - одну в третьей строке фрагмента кода выше, где вы устанавливаете свойство theID, и одну в вызове NSLog () в viewDidLoad. Вы увидите, что последняя точка останова срабатывает первой.
P.S. Добро пожаловать в переполнение стека! Не забудьте прочитать часто задаваемые вопросы и отметить принятые ответы на свои вопросы (если они, конечно, стоят хороших ответов).