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

我在問這個問題之前已經試過,但它不起作用。 –