問題:當使用成員變量時,提示錯誤信息。
問題:我要實現一個樹結構的UITableView,,然后重新派生了UITableViewCell,並為其添加了TreeNode節點。
代碼如下: @interface TreeViewCell : UITableViewCell { TreeNode* treeNode;//每個單元格表示一個節點 } @property (retain) TreeNode* treeNode; @implementation TreeViewCell @synthesize onExpand,imgIcon,owner,treeNode; 然后我在另一個view使用TreeViewCell的treeNode,如下 UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath]; [cell OnExpandCell]; TreeNode * treeNode = cell.treeNode; 但在 TreeNode * treeNode = cell.tree這一行提示如下錯誤: request for member `treeNode ' in something not a structure or union 如圖: ![]() |
該問題的解決辦法是:
TreeViewCell *cell = (TreeViewCell*)[self.tableView cellForRowAtIndexPath:indexPath];
TreeNode * treeNode = cell.treeNode; |
方法二:如果要判斷一個節點是否有子節點,可以在treeNode中添加一個方法,然后利用uitableviewcell來的屬性值來獲取。
也可以使用方法的方式返回一個Bool類型的值,再去做判斷。