-1

Mutable Array があり、いくつかの文字列を入力します。しかし、ビュー (ナビゲーション コントローラー) を離れて再度開くと、配列は空です。ビューを離れるたびに、可変配列が空になります。

if([name_Recipe isEqualToString:@""])
{
    NSLog(@"Nothing");
}
else
{
    [favoritesArrayDetail addObject:name_Recipe];
    NSLog(@"%@", [NSString stringWithFormat:@"%@", favoritesArrayDetail]);
}
4

2 に答える 2

0

配列をプロパティとして宣言します。

@property (nonatomic, copy) NSMutableArray *favoritesArrayDetail;

そしてviewDidLoadで:

if (!favoritesArrayDetail)
{
    favoritesArrayDetail = [NSMutableArray new];
}
于 2013-08-05T07:27:49.987 に答える
0

これは、ビューを離れると、ビュー コントローラーがすべてのメンバー変数と共に解放されるためです。それでも配列にアクセスできるようにしたい場合は、別の場所で宣言するか、静的にする必要があります。

編集: ビューに戻るたびに viewDidLoad が呼び出されるため、配列が空の配列にリセットされ[NSMutableArray new]ます。配列がまだ作成されていない場合にのみ、そのコード行を呼び出す必要があります。

たとえば、次のことができます。

if (!favoritesArrayDetail) //Only do this code if the array is nil.
    favoritesArrayDetail = [NSMutableArray new];
于 2013-08-04T16:54:37.360 に答える