2011-06-17 7 views
0

あなたのために別の目的の質問。おそらく単純なものでしょう...目的C - viewDidLoadで変数を設定し、他の場所で使用する

私のviewDidLoadメソッドで私は変数を設定しています。私は- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPathの中でこれにアクセスする必要がありますが、私は次のエラーを受け取り、それを並べ替える方法は本当にわかりません!

- [のCFString intValue]:割り当て解除インスタンスに0x592dcb0

- (void)viewDidLoad 
{ 
    //code to get json is here 
    totalInCategory = [parsedJson objectForKey:@"TotalInCategory"]; 
    NSLog(@"totalincat %i",[totalInCategory intValue]); 

    [super viewDidLoad]; 
} 

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)celllforRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    NSLog(@"totalincat %i",[totalInCategory intValue]); 

    if((indexPath.row == [myArray count]-1)&&(indexPath.row < [totalInCategory intValue])) 
    { 
     //code to get more rows 
     [self.tableView reloadData]; 
    } 
} 

に送信されたメッセージは、私はNSStringの* totalInCategoryを有します。セットアップし、合成する。

totalInCategoryは(私が知っている限り)viewDidLoad内で問題ありませんが、他の場所では...どのアイディアも本当に便利です!

+0

間にtotalInCategoryを解放してもらえますか? – iAmitWagh

+0

いいえ、それは自動リリースされました。私の答えを見てください。 –

+0

@iAmitWaghいいえ、混乱... – rich

答えて

4

は、あなたがそれを使用したい場合は保持する必要が自動解放オブジェクトを返しますobjectForKey

totalInCategory = [[parsedJson objectForKey:@"TotalInCategory"] retain]; 

...データを保持します。 deallocに[totalInCategory release];を追加することを忘れないでください。

2

プット:

[totalInCategory retain]だけ

totalInCategory = [parsedJson objectForKey:@"TotalInCategory"];以下、現在objectForKey方法で自動解放された変数を保持します。

+0

これと、以下の返信は@SimonLeeによってなされましたが、いずれにしても(もしどちらかの場合)? – rich

+0

彼らは同じことをする...私のバージョンはより簡潔ですが、いずれか良いです。 –

+0

ああクール、私はあなたを使用:)多くのありがとう本当に、今、彼はこれを生成している他の問題を修正する...バー! – rich

0

totalInCategoryselfを使用してください。プロパティの宣言でと指定した場合

self.totalInCategory = [parsedJson objectForKey:@"TotalInCategory"]; 
+1

a)totalInCategoryがプロパティであり、b)retain属性を持っていると仮定しています。 –

+0

@シモンリー:同意する:)しかし、アプローチの一つかもしれない... – Jhaliya

+0

私は同意するが、それらの前提条件を明記せずに@propertyなどを追加することは、少し誤解を招く可能性があります。:) –

1

parsedJsonの種類がわからないと、私は確信が持てませんが、あなたには遺失がない可能性が高いようです。

totalInCategory = [[parsedJson objectForKey:@"TotalInCategory"] retain]; 

そしてクラスのdeallocメソッドで

[totalInCategory release]; 

を追加あなたはまだしていない場合は、おそらくまた、iOSのMemory Management Programming Guideで一目を取る必要があります。

+0

Dealloc、破壊しないでください。 –

+0

ありがとう、固定(oops)。 –

関連する問題