2015-12-25 47 views
1

我正在我的Udacity Nanodegree iOS項目上工作,它要求我們使用與AppDelegate共享模型。我一直在我的代碼中遇到這個錯誤,因爲我已經找到了解決方案。我嘗試使用獲取唯一的聲明,我仍然拋出這個錯誤...任何建議? 這裏是我的CollectionViewController.swift的一部分:我一直有錯誤實例成員'對象'不能用於類型___

import Foundation 
    import UIKit 


    class SentMemesCollectionVC:UICollectionViewController{ 
     @IBOutlet weak var imageView: UIImageView! 
    let object = UIApplication.sharedApplication().delegate 
    var appDelegate = AppDelegate() { 
     return object as! AppDelegate //Error get only property //error instance member 'object' cannot be used on type ___ 
    } 

     override func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { 
      return appDelegate.memes.count 
     } 

     let memes = appDelegate.memes 

     override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell { 

      let cell = collectionView.dequeueReusableCellWithReuseIdentifier("CustomMemeCell", forIndexPath: indexPath) as! CustomMemeCell 
      let meme = memes[indexPath.item] 
      cell.setText(meme.top, bottomString: meme.bottom) 
      let imageView = UIImageView(image: meme.image) 
      cell.backgroundView = imageView 

      return cell 
     } 
+0

爲什麼你不使用'let object = UIApplication.sharedApplication()。delegate'和'return object.memes.count'? –

回答

0

你試圖創建/使用一個計算的屬性!?這應該看起來像這樣:

var appDelegate : AppDelegate { 
    return object as! AppDelegate 
} 
+0

我正在使用計算屬性..這是建議給我..我不完全明白爲什麼,但是...我相信我試圖從AppDelegate得到的一切是明確設置在我的代碼中作爲一個值而不是鍵入 –

+0

@HarryMerzin對於答案中的錯字感到抱歉,該代碼是否適合您? – luk2302

+0

該代碼確實能夠消除當前位置的錯誤,但現在錯誤被移至「let memes = appDelegate.Memes」......我應該在所有事情上嘗試相同的步驟,如果錯誤繼續推下去? ] –

相關問題