2017-03-13 76 views
1

我想一個子類對象的屬性分配爲另一個子類的功能的輸入參數的函數的輸入參數,卻遇到了一個實例成員問題:分配對象屬性爲另一個對象

import UIKit 

class p1 { 
    var quality1 = 0 
    var quality2 = 0 
} 
class p11 : p1 { 
    func interact(class: p12) { 
     quality1 += p12.quality2 //error: Instance member 'quality2' cannot be used on type 'p12' 
    } 
} 
class p12 : p1 { 
    func interact(class: p11) { 
    } 
} 
var p11a = p11() 
p11a.quality1 = 100 
p11a.quality2 = 100 
var p12a = p12() 
p12a.quality1 = 120 
p12a.quality2 = 80 

如何解決這個問題,使一個對象的屬性受到另一個對象通過函數的屬性的影響?

回答

1

我想你失去了一些東西:)在p11類中的方法interact應該是:

func interact(parameter: p12) { 
    quality1 += parameter.quality2 // changing 'p12' to 'parameter' (instead of 'class') 
} 

你應該通過傳遞的參數調用quality2屬性,而不是通過類的名稱本身。

+0

糟糕,我的錯!結果非常好,謝謝! – Ramener

相關問題