Re: [問題] 函式讀不到/Not Fully implement??
※ 引述《inzaghi0507 (KaKa)》之銘言:
: 因為我有在表頭檔中使用<UITableViewDataSource>
: 所以numberOfRowInSection 和 cellForRowAtIndexPath都必須去實作
: (這樣說不知道對不對^^)
正確說來,完整的 selector 應該說是
tableView: numberOfRowsInSection:
和
tableView: cellForRowAtIndexPath:
兩個冒號後面各跟著一個參數,都是總共兩個參數的函式。
如果使用自動補完,
或者 command 雙擊 "UITableViewDataSource" 打開定義的 .h 檔,可以看到
tableView: numberOfRowsInSection:
實際是定義為這樣(太長了,我分兩行,意思一樣):
- (NSInteger)tableView:(UITableView *)table
numberOfRowsInSection:(NSInteger)section;
它的回傳值 type 是定義最前面的 (NSInteger),
第一個參數的 type 是第一個冒號後面的 (UITableView *),名稱為後面的 "table"
第二個參數的 type 是第二個冒號後面的 (NSInteger),名稱為後面跟著的 "section"
而 .h 檔中可以看到兩函式上方有個 @required 標記,
這就是為什麼宣告支援 <UITableViewDataSource> 的類別必須實作這兩個函式的原因。
底下的 @optional 部份,就不一定要實作了。
: 但遺憾的是在嘗試輸入這兩個方法時 會找不到這個方法
: (顯示No completions Found)
: http://img689.imageshack.us/img689/5598/macosxleopard2010072222.png


: 所以程式就無法編譯成功了
: 但非常奇特的是把範例的程式碼貼到我的程式裡卻又可以WORK了(已檢查過都一模一樣)
: 研究了很久卻不知道為什麼這樣
: 請問各位高手有遇到類似的問題或是知道為什麼嗎?
: 謝謝
試了一下,看來要 auto-complete 完整的:
tableView: numberOfRowsInSection
必須從打 table 時就按 Esc,
一旦輸入完冒號後,即使字串都一樣,也無法自動補完了。
至於原po整行輸入完仍有 warning 的原因,
則是因為打成 tableView: numberOfRowInSection:
而非正確的 tableView: numberOfRowsInSection:
... 正巧就是為什麼我們需要自動補完的原因 ...
※ 編輯: Senkousha 來自: 220.136.168.82 (07/26 02:56)
※ 編輯: Senkousha 來自: 220.136.168.82 (07/26 02:56)
※ 編輯: Senkousha 來自: 220.136.168.82 (07/26 02:57)
推
07/26 23:03, , 1F
07/26 23:03, 1F
→
07/26 23:04, , 2F
07/26 23:04, 2F
討論串 (同標題文章)
完整討論串 (本文為第 3 之 3 篇):
MacDev 近期熱門文章
PTT數位生活區 即時熱門文章