簡體   English   中英

Xcode不會發出警告以捕獲強大的自我

[英]Xcode doesn't throw warning for capturing strong self

我有一個障礙,可能會導致一些問題。 通常,Xcode通過向行[self方法]旁邊發出警告來向我展示可能發生潛在問題的地方,但是現在它不起作用。

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
    PNTabCell *collectionViewCell = [collectionView dequeueReusableCellWithReuseIdentifier:@"PNTabCell" forIndexPath:indexPath];

    collectionViewCell.didPressedCloseButton = ^()
    {
        [self didCloseTab];
    };

    return collectionViewCell;
}

但是我的問題是,如何以這種[自我方法]為潛在的泄漏線自動開啟警告通知

捕捉堅強的自我不是問題。 創建保留周期是一個問題。 這會形成保留周期嗎? 看起來不像。 它只是一個markFilePathAsActive-> block-> self鏈。 一旦您調用的方法完成,self就會被釋放。 因此,似乎沒有任何理由發出警告。

在我看來,這似乎不是一個保留周期,因此我認為不需要警告。

而且我不認為Xcode在默認情況下可以使用正常的警告系統(黃色警告)來計算出所有保留周期,並且我不認為您可以做到這一點。

但是您可以嘗試不時運行分析器。 非常強大。 轉到產品->分析。 這將對您的代碼進行靜態分析,並檢測可能的內存泄漏,死存儲,不調用視圖超級生命周期方法等。 看看https://developer.apple.com/library/ios/recipes/xcode_help-source_editor/Analyze/Analyze.html

您也可以按照以下說明嘗試將分析儀更新為較新的版本: http : //clang-analyzer.llvm.org/xcode.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM