簡體   English   中英

更改表視圖單元格顏色如果消息是新的

[英]Change Table View Cell Color If message is New

我是iOS新手所以請幫助我。 我從服務器獲得一些帶有“ messageId ”鍵的消息。 我在tableview中顯示這些消息。 現在我必須區分如果在該tableview中第一次打開新消息,我必須更改該單元格中該消息的顏色。

cell.notificationMessageDate.text = [[self.notifications objectAtIndex:indexPath.row] valueForKey:@"msgCreatedDate"];

cell.notificationMessageText.text = [self stringByStrippingHTML:[[self.notifications objectAtIndex:indexPath.row] valueForKey:@"message"]];

NSString *str = [[self.notifications objectAtIndex:indexPath.row] valueForKey:@"messageId"];

self.isAlreadyExist = false;


if (str ) {
    cell.backgroundColor = [UIColor whiteColor];
} else {

}

@AADi我看到你收到來自通知的消息。 我不知道你實施了什么結構。

要實現您想要的,我覺得您必須實現一個字典或數組,您可以從中獲取數據。 然后傳遞數組或字典的計數。 到桌子。 現在維護一個變量,該變量存儲數組或字典的先前計數。 在行的單元格中,將索引路徑與先前的數組或字典計數進行比較。 如果索引路徑大於先前計數,則只需更改該索引路徑上的單元格的背景,並使用當前計數更新先前計數的值。

如果您不理解或有任何疑問,請在此處詢問。

希望它會對你有所幫助。

一個建議,它不是檢查消息是否是本地新消息的好方法。 如果用戶卸載應用程序並重新安裝它,那么即使用戶可能已閱讀過該消息,所有消息也會對用戶顯示為新消息。

更好的方法是發送布爾變量,例如seenread ,以及來自服務器的消息的其他細節,並相應地顯示單元格。 要將消息標記為已讀或已顯示,您可以使用在后端反映它的messageID對服務器進行API調用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM