2016-08-25 64 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

我在问这个问题之前已经试过,但它不起作用。 –