虽然这可能是一个完全 n00b 的问题,但我以前从未遇到过这样的情况,有点惊呆了。
我有一些Objective C 类,每个类都声明了一些属性。所有属性都已正确声明和合成。
简化后,结构看起来像:
CompanyData - hasA - DepartmentInfo - hasA - Office - hasA - Employee - hasA - isFemale(BOOL)
如果我写这样的东西:
companyData.departmentInfo.office.currentEmployee.isFemale = YES;
我的代码无法编译,并且"Segmentation fault: 11"
出现错误。
但是,如果我写:
Employee *currentEmployee = companyData.departmentInfo.office.currentEmployee;
currentEmployee.isFemale = YES;
一切都编译得很好。为什么?我在这里想念什么?
我正在使用 XCode 4.5 和 LLVM GCC 4.2 编译器。