- (void)settopic:(xmgtopic *)topic
+ (nsdictionary *)replacedkeyfrompropertyname
;}
return [propertyname underlinefromcamel];
+ (nsdictionary *)objectclassinarray
;// 擔心寫錯,還有另一種寫法
return @;
}
if (self
.topcomment) context:nil].size
.height;
_cellheight += xmgtopictopcmttoph + cmttexth + xmgcommonmargin;
}// 工具條的高度
_cellheight += xmgtopic*******h + xmgcommonmargin;
} return _cellheight;
}
注意:檔案不參與編譯情況:檔案被刪了或不勾選targets項- (void)viewdidload
#pragma mark - 監聽
- (void)keyboardwillchangeframe:(nsnotification *)note
];}
#pragma mark -
- (void)scrollviewwillbegindragging:(uiscrollview *)scrollview
#pragma mark - 3組**
- (nsinteger)numberofsectionsintableview:(uitableview *)tableview
- (nsinteger)tableview:(uitableview *)tableview numberofrowsinsection:(nsinteger)section
- (uitableviewcell *)tableview:(uitableview *)tableview cellforrowatindexpath:(nsindexpath *)indexpath
}
- (void)setuptable
- (nsstring *)tableview:(uitableview *)tableview titleforheaderinsection:(nsinteger)section
- (void)setuptable
weakself.hotcomments = [xmgcomment objectarraywithkeyvaluesarray:responseobject[@"hot"]];- (void)dealloc
}
weakself.latestcomments = [xmgcomment objectarraywithkeyvaluesarray:responseobject[@"data"]];
#pragma mark -
- (nsinteger)numberofsectionsintableview:(uitableview *)tableview
- (nsinteger)tableview:(uitableview *)tableview numberofrowsinsection:(nsinteger)section
return
self
.latestcomments
.count;
}- (uitableviewcell *)tableview:(uitableview *)tableview cellforrowatindexpath:(nsindexpath *)indexpath
// 傳遞模型給cell
cell.comment = comments[indexpath.row];
return cell;
}
- (uiview *)tableview:(uitableview *)tableview viewforheaderinsection:(nsinteger)section
else
return header;
}
- (void)setcomment:(xmgcomment *)comment
else
[self.profileimageview setheader:comment.user
.profile_image];
self.contentlabel
.text = comment.content
; self.usernamelabel
.text = comment.user
.username
; self.likecountlabel
.text = [nsstring stringwithformat:@"%zd", comment.like_count];
// 判斷男女圖示
if ([comment.user
.*** isequaltostring:xmguser***male]) else
}
// 需要設定估算高度
self.tableview
.estimatedrowheight = 100
; self.tableview
.rowheight = uitableviewautomaticdimension;
if (comment.voiceuri
.length) else
- (uiview *)tableview:(uitableview *)tableview viewforheaderinsection:(nsinteger)section
else
label.x = xmgcommonsmallmargin;
[label sizetofit];
label.textcolor = xmggraycolor(120);
label.font = [uifont systemfontofsize:14];
// header
uiview *header = [[uiview alloc] init];
header.backgroundcolor = self
.tableview
.backgroundcolor;
[header addsubview:label];
return header;
}
蘋果有個類專門做headerfooter,uitableviewheaderfooterview- (uiview *)tableview:(uitableview *)tableview viewforheaderinsection:(nsinteger)section
else
// 覆蓋文字
if (section == 0 && self
.hotcomments
.count) else
return header;
}
- (instancetype)initwithreuseidentifier:(nsstring *)reuseidentifier
return
self;
}- (void)settext:(nsstring *)text
專案管理實戰之團隊管理
乙個系統不僅需要優秀的分析和設計,更需要乙個良好的過程將其從藍圖轉化為實現。這個過程中最重要的是對團隊的管理,也就是人的管理。乙個優秀的團隊和乙個糟糕的團隊的效能是天壤之別,她們之間的比例不是1 100或1 1000這樣量化的數字能夠表示的。就像乙個團隊建造了一幢摩天大樓屹立於雲霄,而另乙個團隊的建...
專案管理實戰之團隊管理
乙個系統不僅需要優秀的分析和設計,更需要乙個良好的過程將其從藍圖轉化為實現。這個過程中最重要的是對團隊的管理,也就是人的管理。乙個優秀的團隊和乙個糟糕的團隊的效能是天壤之別,她們之間的比例不是1 100或1 1000這樣量化的數字能夠表示的。就像乙個團隊建造了一幢摩天大樓屹立於雲霄,而另乙個團隊的建...
專案管理實戰之團隊管理
乙個系統不僅需要優秀的分析和設計,更需要乙個良好的過程將其從藍圖轉化為實現。這個過程中最重要的是對團隊的管理,也就是人的管理。乙個優秀的團隊和乙個糟糕的團隊的效能是天壤之別,她們之間的比例不是1 100或1 1000這樣量化的數字能夠表示的。就像乙個團隊建造了一幢摩天大樓屹立於雲霄,而另 乙個團隊的...