2010-06-12 40 views
0

我是新來的可可綁定,所以我試着做一個簡單的應用程序,它將簡單地計算平均員工薪水並顯示在文本字段中,使用可可綁定。我按照這些步驟:如何使用NSArrayController和可可綁定在NSTextField中顯示平均員工工資

  1. 所做的模型類:Person有一個屬性,現在 -

    @property(讀寫,分配)INT工資;

  2. 在應用程序委託I類初始化的可變數組:personArray與某些對象是這樣的:

    Person *person1 = [[Person alloc] init]; 
    person1.salary = 5000; 
    
    Person *person2 = [[Person alloc] init]; 
    person2.salary = 15000; 
    
    Person *person3 = [[Person alloc] init]; 
    person3.salary = 7000; 
    
    Person *person4 = [[Person alloc] init]; 
    person4.salary = 9000; 
    
    Person *person5 = [[Person alloc] init]; 
    person5.salary = 11000; 
    
    personArray= [[NSMutableArray alloc] initWithObjects:person1, person2, person3, person4, person5,nil]; 
    
  3. 在IB我下降一個NSArrayController的對象,設置其模式作爲類 - Person,加入鍵salary在屬性窗格中。然後在綁定窗格中,將內容數組綁定到ApplicationDelegate類,並將模型鍵路徑設置爲self.personArray

  4. 刪除窗口上的NSTextField。將其值綁定到ArrayController對象。指定的控制器密鑰爲 - arrangedObjects。分配的模型鍵路徑到@avg.salary

當我執行應用程序時,我發現沒有值顯示在文本字段中。

任何人都可以給我建議,我可能是錯的或者一些其他的最好的方式來完成它

感謝,

Miraaj

+0

你並不需要在模型中包含的關鍵路徑「自我」。 「personarray」就夠了。 – 2010-06-12 14:26:30

+0

你將什麼方法分配給'personArray'? – 2010-06-12 14:26:54

+0

thanx ...我得到了我的錯誤...我已經發布它作爲答案! – Devarshi 2010-06-13 10:30:31

回答

0

以上報告的問題現在已經解決了,我沒有了以下改進來解決它:

  1. 我聲明屬性爲 - personArray在ApplicationDelegate類。

  2. 代替將Person對象直接分配給personArray,我首先將它們分配給臨時數組,然後使用:-setValue:forKey:方法將其分配給personArray。

現在按預期工作:)

+0

如果你聲明瞭一個屬性,那麼你可以給自己發一個'setPersonArray:'消息或者指定屬性(同樣的東西);你不需要使用KVC。當你不需要時使用KVC是避免錯誤導致錯誤的好方法。此外,不要忘記根據內存管理規則釋放臨時陣列。 – 2010-06-14 05:21:25

+0

好..再次感謝:) – Devarshi 2010-06-14 10:40:02

相關問題