请参阅以下代码。
#import "RecipeDetail.h"
#import "Recipe.h"
@implementation RecipeDetail
@synthesize recipeLabel;
@synthesize recipeName;
- (void)viewDidLoad
{
[super viewDidLoad];
self.title = recipe.name;
self.prepTimeLabel.text = recipe.prepTime;
self.recipePhoto.image = [UIImage imageNamed:recipe.imageFile];
NSMutableString *ingredientText = [NSMutableString string];
for (NSString* ingredient in recipe.ingredients) {
[ingredientText appendFormat:@"%@\n", ingredient];
}
self.ingredientTextView.text = ingredientText;
}
答案 0 :(得分:0)
您可以像viewDidLoad
这样的方法为您分配类对象。
Recipe *recipe=[[Recipe alloc]init];
然后你可以使用这样的食谱对象。
self.title = recipe.name;
答案 1 :(得分:0)
您收到正确错误。
变量配方未声明,您正在尝试从不存在的变量中分配值。
因此,您应该在使用viewDidLoad
方法之前声明它,例如:
Recipe *recipe = [Recipe alloc] init];
然后使用它。
或者,如果您想从此类外部传递现有的配方变量,因为您似乎正在尝试这样做,那么您在哪里声明并初始化此类的实例 RecipeDetial 在 RecipeDetail.h 中创建食谱属性,如:
@property (strong, nonatomic) Recipe *recipe;
并在呈现此UIViewController
之前将该变量分配给此属性,并在您使用它时使用它。
希望这会有所帮助......