最初に、私はこのチュートリアルに従いました:three20githubチュートリアル
アプリケーションをクラッシュさせるメモリ管理の問題があると思います。
私_properties
のpostsModelでアプリケーションがクラッシュすると思います。
初めてアプリケーションを起動し、ビューを自分のpostsTableViewController
作品に変更するのは非常にうまくいきました。TTLauncherViewを作成しましたが、このビューコントローラーに戻すとアプリがクラッシュします。
ここに私のpostsModelのコードがあります
// .h
@interface postsModel : TTURLRequestModel {
NSMutableArray *_properties;
}
@property (nonatomic, readonly)NSMutableArray *properties;
// .m
@synthesize properties = _properties;
- (void)requestDidFinishLoad:(TTURLRequest*)request {
TTURLDataResponse* response = request.response;
NSString* responseBody = [[NSString alloc] initWithData: response.data encoding: NSUTF8StringEncoding];
NSDictionary *json = [responseBody JSONValue];
TT_RELEASE_SAFELY(responseBody);
NSMutableArray *resultSet = [json objectForKey:@"posts"];
TT_RELEASE_SAFELY(_properties);
_properties = [NSMutableArray arrayWithArray:resultSet];
TT_RELEASE_SAFELY(resultSet);
[super requestDidFinishLoad:request];
}
- (void)dealloc {
TT_RELEASE_SAFELY(_properties);
[super dealloc];
}
_propertiesのtt_releaseを削除すると、このビューからランチャービューに戻ってアプリケーションのクラッシュが停止しますが、TableViewをもう一度クリックすると、アプリケーションが再度クラッシュします。
コードがかなり多いので、書き留めるのは少し難しいです。役立つ場合は、アプリを.zipファイルとして提供することもできます。これは今のところ非常に基本的なことです。
感謝