Создать View Controller с параметрами - PullRequest
4 голосов
/ 14 января 2011

Я хотел бы создать новый viewController и передавать данные при создании экземпляра.

У меня есть словарь с некоторыми данными, и я хотел бы получить доступ к этим данным, как только будет создан viewController.

Я пробовал это:

//create the recipe
    myRecipe = [[RecipeCard alloc] init];
        //create a dictionary here...

//call the setRecipeItems method of the recipe I have created
        [myRecipe setRecipeItems: dictionary]

;

Проблема в том, что setRecipeItems срабатывает до загрузки представления.

В идеале я хотел бы сделать что-то вроде:

myRecipe = [[RecipeCard alloc] initWithData: dictionary];

Но это не сработало для меня

Спасибо

1 Ответ

5 голосов
/ 14 января 2011

Вы можете сделать именно то, что вы просите, выполнив это: (поместите это в свой файл .h)

@interface RecipeCard : UIViewController {
  NSDictionary *recipes;
}

- (id)initWithRecipes:(NSDictionary *)Recipes;

@end

(затем в свой файл .m)

@implementation RecipeCard

- (id)initWithRecipes:(NSDictionary *)Recipes
{
  if(self = [super init]) {
    recipes = [NSDictionary dictionaryWithDictionary:Recipes];
    [recipes retain];
  }
  return self;
}

@end

Теперь вы можете создать свою карточку RecipeCard следующим образом:

myRecipe = [[RecipeCard alloc] initWithRecipes:someDictionaryObject];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...