我正在尝试使用Parse.com中的那些表制作一个简单的照片应用程序
表用户
表跟随
表格图片
表喜欢
所以我有他的逻辑。如果User1喜欢User2的图像,则表格中会插入一行Likes。一切都好到现在。
但是如果User1关闭应用程序并再次打开它,我想在图像单元格中显示一个红色的心(就像在Instagram中一样),如果他喜欢的话。
问题我如果在cellForItemAtIndexPath
内进行查询
要查看currentUser
和图像的ID是否与表Likes
处的某处匹配,它对用户体验不利,因为如果他有100张图像,它最终会变慢。
所以我的问题是,是否有任何聪明的方法来进行查询并立即更改单元格的图像???
我认为当应用程序打开(并且用户已登录)时,我可以在表格中进行常规查询并在列whoLikedIt
中搜索currentUser id并创建一个包含所有内容的数组列likedImage
中图像的ID。然后在
cellForItemAtIndexPath
我可以检查图像的id是否在该数组内部,将喜欢的图像更改为红心,否则保持原样。 通过这种方式,我将在我的应用程序中获得更快的速度吗?
或者你可以建议任何其他方式? 非常感谢你的时间。
答案 0 :(得分:2)
你想要的是向用户展示他喜欢的照片",最好的方法是创建一个与你的用户链接的表,其中包含他喜欢的所有身份证照片。
通过这种方式,您不会对图片对象收取太多费用(如果图片被喜欢1M次),您可以轻松检索并检查每个用户的数据。
答案 1 :(得分:2)
我建议您在登录时下载与用户相关的数据并将其保存在本地。因此,您可以访问它以呈现UI。在这个特定情况下,我会下载他喜欢的图像的ID并将其存储在Set
中。现在你可以查看,如果他喜欢cellForItemAtIndexPath
但请注意,您可能需要在某个时候更新本地数据。在这种情况下,推送通知对您有用