Objective C, эквивалентный javascripts setTimeout?

Слово предупреждения: если вы поместите файлы конфигурации в папку WEB-INF/classes, а ваша среда IDE, скажем, Eclipse, выполняет очистку / перестройку, она будет уничтожать ваши файлы conf, если они не были в исходном каталоге Java. Большой ответ BalusC намекает на то, что в варианте 1, но я хотел добавить акцент.

Я усвоил, что если вы «скопируете» веб-проект в Eclipse, он очистит / перестроит из любых исходных папок , В моем случае я добавил «связанный исходный каталог» из нашей Java-библиотеки POJO, он будет скомпилирован в папку WEB-INF/classes. Выполнение чистых / перестроек в этом проекте (а не в проекте веб-приложений) вызвало ту же проблему.

Я думал о том, чтобы поместить мои confs в папку POJO src, но эти confs - все для сторонних библиотек (например, Quartz или URLRewrite), которые находятся в папке WEB-INF/lib, так что это не имеет смысла , Я планирую протестировать его размещение в папке «src» веб-проектов, когда я обхожусь к нему, но эта папка в настоящее время пуста, и в ней есть файлы conf, которые выглядят inelegant.

Итак, я голосую за то, в WEB-INF/commonConfFolder/filename.properties, next в папку классов, которая является параметром Balus 2.

26
задан jantimon 16 September 2009 в 09:52
поделиться

3 ответа

Есть несколько вариантов.

Самый быстрый для использования в NSObject :

- (void)performSelector:(SEL)aSelector withObject:(id)anArgument afterDelay:(NSTimeInterval)delay

(Есть несколько других с небольшими изменениями.)

Если вы хотите больше контроля или чтобы иметь возможность сказать, отправляйте это сообщение каждые тридцать секунд, вам, вероятно, нужно NSTimer .

32
ответ дан Stephen Darlington 15 October 2019 в 06:59
поделиться

Взгляните на класс NSTimer :

NSTimer *timer;
...
timer = [[NSTimer scheduledTimerWithTimeInterval:30.0 target:self selector:@selector(thisMethodGetsFiredOnceEveryThirtySeconds:) userInfo:nil repeats:YES] retain];
[timer fire];

Где-то еще у вас есть фактический метод, который обрабатывает событие:

- (void) thisMethodGetsFiredOnceEveryThirtySeconds:(id)sender {
   NSLog(@"fired!");
}
13
ответ дан Alex Reynolds 15 October 2019 в 06:59
поделиться
+[NSTimer scheduledTimerWithTimeInterval:target:selector:userInfo:repeats:]

Документация

Вы также можете посмотреть другие методы NSTimer

3
ответ дан 28 November 2019 в 06:09
поделиться