MacDev 板


LINE

我有个 .xib 档,是要客制化 TableViewCell 的 Interface Builder 内的 File Owner 及 该 cell 都有设定为我的 custom class 然後我利用 table view的 registerNib:forCellReuseIdentifier: 来注册一个 reuseID 及对应的 nib 问题出在 dataSource 的地方 我利用 table view 的 -dequeueReusableCellWithIdentifier: 来得到一个 cell table view 却给我一个 UITableViewCell 而非我的 custom class 但是 cell 的 UI 介面,的确跟我 nib 档内的设置是一样的 但这样我就没有 customized cell 的功能了... 请问是我哪里有弄做什麽? 还是 -dequeueReusableCellWithIdentifier: 的问题 只会回传 UITableViewCell? --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.163.125.199
1F:推 kiii210:(yourCustomCell *)[tableview dequeueReuse....]; 08/01 19:25
2F:→ kiii210:yourCustomCell *cell = [tableview dequeueReusable...]; 08/01 19:26
这边宣告回传物件为某个型别 也无法改变该物件原本类别的事实... NSLog(@"cell class: %@", NSStringFromClass([cell class])); 会printt出"UITableViewCell"
3F:→ kiii210:= =我到底在打什麽 08/01 19:26
4F:→ kiii210:你有照我第二行打的那样打吗?你是要在哪里用到cell? 08/01 19:27
5F:→ kiii210:cellForRowAtIndexPath? 08/01 19:28
6F:→ kiii210:你的cell要是你自己的Custom Cell的class才行唷 08/01 19:39
// data source - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ CustomizedCell *cell = [tableView dequeueReusableCellWithIdentifier:id]; NSLog(@"cell: %@", cell); // 此时cell会存在 而且的确是load Nib的UI // 但是class一直都是UITableViewCell; if (!cell){ NSLog(@"永远不会进来,因为我已用registerNib:forCellReuseIdentifier:"); // 以前dequeue没有cell的话 要在这边手动自己create cell // 可以用 alloc-init 或是在这边用 nib file 来创造 cell // 但实际上只要register该reuse identifer,dequere时一定有cell // UIKit会根据register的Nib或class 来产生该cell // 所以这边if statement不会通过 其实这边不用写code // 只是好像-dequeueReusableCellWithIdentifier: 创造出来的cell // 都是UITableViewCell... (无论我Nib设file owner/cell的class 都无效) // 不知道真的是bug 还是我漏掉设定什麽? } return cell; } ※ 编辑: leondemon 来自: 114.198.184.235 (08/02 00:23)
7F:推 kiii210:这要等高手啦 XD 08/02 09:46
8F:→ kiii210:你的意思是,你的cell底下没有你自己CustomCell的object? 08/02 09:47
9F:→ kiii210:等高手来之前 要不要把完整code丢上来看看 08/02 09:51
10F:→ hSATAC:http://pastebin.com/3uPySKQ8 试试? 08/02 10:32
後来我找到问题了 虽然不知道是怎麽回事 因为 Xcode 在 subclass UITableViewCell 时 没有同时产生 xib档的选项 所以必须自己手动加入一个 .xib 档 而当初创造该 xib 档时 从清单中选了empty的选项 才会发生此事 (想说也不是要customize UIView/UIWindow 直接从空白的开始设定) 後来重新建立 .xib 新档时 选了 View 的 xib 选项 然後把该 view 给删除掉之後 重新加入一个 table view cell 这样在 register 之後 就会确实产生我设定的类别物件 只不过我还是不知道 empty 的 xib 档是要拿来做什麽用的... 还是 empty 的 xib 档还要设定什麽地方 才能拿来给 table view register? ※ 编辑: leondemon 来自: 118.163.125.199 (08/02 14:03)
11F:推 kiii210:你有连Files Owner的view outlet出去吗? 08/02 15:23







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Gossiping站内搜寻

TOP