3

ストーリーボードと NavigationController を使用して、iOS 5.1 を対象とする Xcode 4.3.2 を使用する単純なプロジェクトがあります。ARC を使用するようにプロジェクトを移行したばかりですが、UITableViewController シーンがポップされた (戻るボタンが押された) ときにメモリが再利用されていないことに気付きました。自分でメモリを管理していたとき、これは問題なく機能していたと確信しています。Instruments ツールの「割り当て」機能を使用していますが、シーンがプッシュされてポップされるたびに「Live Bytes」が増加し続けることがわかります。UITableViewController のインターフェースは次のとおりです。

#import <UIKit/UIKit.h>
#import "ASIHTTPRequest.h"

@interface StockListView : UITableViewController <UISearchBarDelegate>
{
    NSMutableArray *tableListArray;         
    IBOutlet UISearchBar *searchBarControl;
}

@property (nonatomic) ASIHTTPRequest *httpDSRequest;

@end

UITableView は、次のように定義されたカスタム UITableViewCell クラスを使用します。

#import <UIKit/UIKit.h>

@interface StockListCell : UITableViewCell

@property (nonatomic) IBOutlet UILabel *lblStockCode;
@property (nonatomic) IBOutlet UILabel *lblDescription;
@property (nonatomic) IBOutlet UILabel *lblQtyInStock;
@property (nonatomic) IBOutlet UILabel *lblQtyFree;

@end

私が使用しているプロパティに、View Controllerをメモリに保持している何かがありますか? ARC を使用しているため、View Controller の割り当てを完全に解除できるようにコードを追加する必要がありますか?

また、Instruments の「Leaks」機能を使用しましたが、これは存在するリークを表示しませんでした。

助けていただければ幸いです。申し訳ありませんが、私はまだiOS開発に慣れていません。

ありがとうジョナサン

4

1 に答える 1

1

ボタンを弱参照にする必要があります

@property (weak, nonatomic) IBOutlet UILabel *lblStockCode;

そして多分これを見てください: ARC Transition

于 2012-04-15T21:45:50.933 に答える