Разницы нет.
Второй вариант может быть немного быстрее, потому что он не использует методы получения / установки.
Просто, чтобы мы поняли,вы сохраняете doublelyLinkedList, когда назначаете его?Потому что в противном случае вы перепроизводите.
И если у вас нет веских причин, я пропустил бы все это и использовал бы retain вместо assign, а self.doublyLinkedList = nil, чтобы выпустить / очистить его.
например,
определение
@property(nonatomic, retain) DoublyLinkedList *doublyLinkedList;
используется
self.doublyLinkedList = nil;
и на dealloc
-(void)dealloc{self.doublyLinkedList=nil;[super dealloc];}