Pointer instance variable and subclassing

I am really trying to figure out whats going on and i cant seem to grasp this one problem that i created and its annoying the heck out of me. In the beginning of the chapter it lists a property as BNRPerson *spouse. Now what i did in main() was create a instance of BNREmployee and a instance of BNRPerson I was trying to set the instance of BNRPerson to the instance variable BNREmployee *spouse. for instance I was trying to do this

BNREmployee *mikey = [[BNREmployee alloc]init]; BNRPerson *joe = [[BNRPerson alloc]init]; mikey.spouse = joe; mikey.spouse.weightInKilos = 50; mikey.spouse.heightInMeters = 70;
When I run the debugger mikey.spouse stays at nil. But if I put BNRemploee : nsobject it works fine. I was just wondering the reason.