Таймер звучит как правильный подход для фактического запуска вашей темы. Для настройки просто поместите это в ваш делегат приложения
[NSSTimer scheduledTimerWithTimeInterval:60.0 * 10.0 target:self selector:@selector(startBackgroundMethod) userInfo:nil repeats:YES];
Затем создайте свой код метода фона следующим образом:
- (void)startBackgroundMethod
{
//the timer calls this method runs on the main thread, so don't do any
//significant work here. the call below kicks off the actual background thread
[self performSelectorInBackground:@selector(backgroundMethod) withObject:nil];
}
- (void)backgroundMethod
{
@autoreleasepool
{
//this runs in a background thread, be careful not to do any UI updates
//or interact with any methods that run on the main thread
//without wrapping them with performSelectorOnMainThread:
}
}
Что касается того, действительно ли необходимо выполнять эту работу в фоновом потоке, это зависит от того, что это такое. Следует избегать потоков, за исключением случаев, когда это строго необходимо из-за вероятности ошибок параллелизма, поэтому, если вы сообщите нам, что собирается делать ваш поток, мы можем посоветовать, может ли подход, основанный на runloop, более подходящим.