我有一个对象
@interface QuestionViewModel : NSObject
@property (nonatomic, assign) NSInteger questionId;
@property (nonatomic, strong) NSString *questionText;
@property (nonatomic, assign) NSInteger questionNumber;
@property (nonatomic, strong) NSArray *choices;
@property (nonatomic, strong) QuestionViewModel *nextQuestion;
@property (nonatomic, strong) QuestionViewModel *previousQuestion;
@end
我知道当我填充此对象时它是成功的,并且所有属性都已完全正确地初始化。
但是,当我像这样传递这个对象时:
*这是一个不同的类(它不在上面定义的 NSObject 中)。
@property (nonatomic, strong) QuestionViewModel *currentQuestion;
- (void)nextQuestion
{
[self loadQuestion:self.currentQuestion.nextQuestion];
}
- (void)loadQuestion:(QuestionViewModel *)question
{
self.currentQuestion = question;
.
.
.
}
question.nextQuestion
并且question.previousQuestion
是nil
。
为什么当我传递这个对象时,后续对象(下一个问题和上一个问题)会变成 nil?似乎该对象正在执行浅拷贝而不是深拷贝,但不确定。
似乎有一些我不知道的基础知识。