我試圖聲明我的UITableViewCell
超出了範圍,如下所示,以便大幅縮減此代碼。Downcast Instantiated UITableViewCell
但是,下面的實現返回一個錯誤(其中有箭頭),大呼小叫:
Value of type 'UITableViewCell' has no member 'friendButton'
我期待力dequeueReusableCellWithIdentifier
垂頭喪氣工作。
我想刪除我的UITableViewCell
超出範圍,以使所有configureCell
方法和return
聲明脫離控制流程。
let resultCell = userResults[indexPath.row]
var cell: UITableViewCell!
if friends.contains({$0.parseObjectId == resultCell.parseObjectId}) {
cell = tableView.dequeueReusableCellWithIdentifier("FriendCell", forIndexPath: indexPath) as! FriendCell
------->cell.friendButton.tag = indexPath.row
------->cell.configureCell(resultCell)
return cell
} else if requestedFriends.contains({$0.parseObjectId == resultCell.parseObjectId}) {
let cell = tableView.dequeueReusableCellWithIdentifier("RequestedFriendCell", forIndexPath: indexPath) as! RequestedFriendCell
cell.friendButton.tag = indexPath.row
cell.configureCell(resultCell)
return cell
} else if incomingFriendRequests.contains({$0.objectId == resultCell.parseObjectId}) {
let cell = tableView.dequeueReusableCellWithIdentifier("AcceptFriendCell", forIndexPath: indexPath) as! AcceptFriendCell
cell.friendButton.tag = indexPath.row
cell.configureCell(resultCell)
return cell
} else {
let cell = tableView.dequeueReusableCellWithIdentifier("AddFriendCell", forIndexPath: indexPath) as! AddFriendCell
cell.friendButton.tag = indexPath.row
cell.configureCell(resultCell)
return cell
}
@ozgur放鬆。正如我所說的,實現返回一個錯誤。 'friendshipButton'已修復。 –
除了'UITableViewCell'之外,你所有的單元都有一個共同的超類嗎?數組中的所有對象都有一個共同的超類嗎? – Paulw11
@ Paulw11不,這些單元是'UITableViewCell'的直接子節點,但是這些數組都是相同的類型 –