2013-04-09 19 views
-5

我試圖按照本教程構建的應用程序建立一個應用程序時:「無可見界面」的錯誤從一個教程

https://www.udemy.com/how-to-make-a-top-selling-iphone-app-with-great-design/#dashboard

但是,我被困在此代碼:

[cell setDetailsWithRecipe:recipe]; 

在這條線,我得到這個錯誤:

爲 'UITableViewCell的' 不可見@interface聲明選擇setDetailsWithRecipe:

我的代碼有什麼問題?

+1

請在這裏發佈相關的代碼片段; SO不存在以下載和調試您的整個代碼庫。 – 2013-04-09 19:19:10

回答

0

問題是cell的型號爲UITableViewCell

您可能定義了一個自定義的UITableViewCell子類,但您並沒有告訴編譯器您正在使用它。

嘗試

[(YouCustomCellClass *)cell setDetailsWithRecipe:recipe]; 
+0

沒有評論的投票並不酷。爲什麼downvote? – 2013-04-09 19:56:25

+0

我不認爲這會奏效......你只是在投射細胞,我不認爲它會知道這種方法。正如HackyStack指出的那樣,它需要首先作爲自定義類來實例化。 – 2013-04-09 21:33:17

+0

@ReidBelton我做的和HackyStack做的沒有什麼實際區別。您可以在左側放置任何類型,但這不會改變右側正在實例化的內容。我們都假設'dequeueReusableCellWithIdentifier'正在返回自定義類的一個實例,但是那段代碼無法控制它。 – 2013-04-09 21:43:21

1

嘗試改變:

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 

要:

RecipeCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 

在RecipeList.m

的72行錯誤消息告訴您的問題。這就是說在UITableViewCell類中沒有稱爲「setDetailsWithRecipe」的方法。然而,在你的UITableViewCell的自定義子類中有這樣一種方法,即RecipeCell。