2016-08-25 2 views
0

Я использую класс NSObject в моем проекте, и я хочу использовать индикатор сети в классе NSObject, например, когда я вызываю любую функцию этого сетевого индикатора сети, и когда код выходит из класса, индикатор сети останавливается.NSObject класс работает

Для запуска индикатора сети, я использую initialize() функцию:

override class func initialize() { 
    UIApplication.sharedApplication().networkActivityIndicatorVisible = true 
} 

Теперь я хочу знать, какие функции, я останавливаюсь индикатор сети. В основном, какая функция звонит наконец в NSObject классе?

+0

Есть ли у вас какие-либо идеи о обработчике завершения (вернуться обратно методы) ..? я думаю, что это может быть полезно для вас – Kavita

+0

Попробуйте поместить его в deInit() –

+0

deinit() не работает для меня @VishalSonawane –

ответ

0

Возможно, вы можете реализовать метод -dealloc, который вызывается только тогда, когда объект удален.

0

Если метод deinit() не работает, это значит, что вы не освобождаете объект должным образом, у вас может быть утечка памяти (только если вы намеренно активируете его, освобождая объект).

Другим подходом была бы реализация defer {} в методах, которые устанавливали бы индикатор в значение true.

func myMethod(){ 
    defer{ 
     UIApplication.sharedApplication().networkActivityIndicatorVisible = false 
    } 
} 

Если вы используете func initialize() вы, вероятно, можно использовать func finalize()

override class func finalize() { 
    UIApplication.sharedApplication().networkActivityIndicatorVisible = false 
} 
+0

если я использую это, тогда мне нужно вызвать эту функцию в каждой другой функции, и я не хочу этого делать. –

+0

@NavjotSingh вы можете попробовать 'finalize()'? –

+0

Я уже пробовал, прежде чем задавать этот вопрос, но он не работает. –

Смежные вопросы