2012-03-31 9 views
-1

申し訳ありません、初心者はここにあります。 。 。NSMutableDictionaryは十分に長い間スティックされません

私はアプリケーションの起動時にアプリケーションデリゲートにNSMutableDictionaryを作成し、その後、バックグラウンドイメージ、解析したいURLなどのVCのオプションを含むため、後でView Controllerに渡します。

とにかく、私は辞書を渡すVC initWithOptionsのカスタムinitメソッドを書きました。私は後で他のメソッドでこの辞書を使用しようとしています - 私はVC用のNSMutableDictionaryプロパティを作成し、そこで渡されたオプション辞書をそこに格納しようとしています。しかし、後のメソッドでそのプロパティの内容を取得すると、nullが返されます。 initメソッドからアクセスすると動作します。

-(id)initWithOptions:(NSMutableDictionary *)options { 
self = [super init]; 
if (self) { 
    // Custom initialization 

    self.optionsDict = [[NSMutableDictionary alloc]initWithDictionary:options]; 
    NSLog(@"dictionary in init method %@",self.optionsDict); 

NSLogは辞書の内容を記録し、それは動作しているように見えます。後で私がこれを行うとき:

- (void)viewDidLoad 
{  
    SDJConnection *connection = [[SDJConnection alloc]init]; 
    self.dataArray = [connection getEventInfoWithURL:[self.optionsDict objectForKey:@"urlkey"]]; 
    NSLog(@"dictionary in connection contains: %@", [self.optionsDict objectForKey:@"urlkey"]); 
    [_tableView reloadData]; 

辞書はnullを返します。 Iveはプロパティの属性を調整しようとしましたが、強くまたは保持しても機能しませんでした。何か案は??

THANKS !!

+0

下部のコードが少しオフになっていることを残念にしない - あなたはあなたの質問を編集して、それを自分で行うことができますself.optionsDict –

+0

と「辞書」を置き換える:) – Saphrosit

+0

何私はそれがまだなくてもその補正 –

答えて

0

これは時々私に起こります。 [super viewDidLoad]に電話するのを忘れたので、プロパティが作成されません。あなたのviewDidLoadは、UIViewControllerのviewDidLoadの代わりになります。

関連する問題