ストーリーボードと 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開発に慣れていません。
ありがとうジョナサン