2015-02-15 2 views
0

Инициализация суперкласса не выполняется при распределении подкласса подкласса. Мои классыБыстрая инициализация суперкласса завершается с ошибкой при инициализации подкласса подкласса

import Foundation 
class GrandParent { 
    var grandparent : Int = 1 
    init() { 
    } 
} 
class Parent : GrandParent { 
    var parent : Int = 2 
    override init() { 
     super.init() 
    } 
} 
class Child : Parent { 
    var child : Int = 3 
    override init() { 
     super.init() 
    } 
} 

Я призываю с:

var aGrandParent=GrandParent() 
var aParent=Parent() 
var aChild=Child() 

aGrandParent.grandparent is 1<br> 
aParent.grandparent is 1<br> 
aChild.grandparent is 6829487575 I expected it to be 1 

Как это исправить?

+1

Невозможно воспроизвести. Все выражения оцениваются в 1, тестируются с Xcode 6.1.1 и Xcode 6.3 beta. –

+0

Я протестировал [ваш код] (http://pastebin.com/JSgkdvcT) в Интернете [здесь] (http://www.runswiftlang.com/), и он работал, как ожидалось (я получил три). – dasblinkenlight

+0

Я использую Xcode Version 6.3 (6D520o) с быстрым 1.2 – Stephen

ответ

0

Проблема с Xcode. если переменная печатается (с использованием println), то значение правильное. Если он отображается в Xcode (либо в представлении переменных, либо как expr aChild), значение отображается неправильно.

Смежные вопросы