我收到此错误“使用未声明的标识符'食谱'

时间:2015-07-03 07:07:51

标签: ios xcode-6.2

请参阅以下代码。

#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;

}

2 个答案:

答案 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之前将该变量分配给此属性,并在您使用它时使用它。

希望这会有所帮助......