Представьте, что у меня есть некое «социальное приложение» со следующим кодом, цель которого:
1 - загрузить набор «лайков» с сервера
2- Каждое «Мне нравится» имеет ссылку на «Сообщение»
3 - Каждое «Сообщение» имеет текст, описание и изображение.
Проблема, с которой я столкнулся, заключается в том, что
1 - Я связываю свойство «Like.Post», но хочу загрузить данные «асинхронно».Посмотрите код int в «Like.Post», он содержит ожидание », и он не разрешен. Итак, каков наилучший способ сделать это?
2 - я могу иметь тысячи лайков, и яхотите "скачать" набор лайков "постепенно", есть ли какой-то список "отложенной загрузки", способный загружать / запрашивать данные с сервера постепенно? Какой-то механизм разбиения на страницы
3 - ЕстьЕсть ли способ иметь несколько страниц с REST-сервером? Как разработать это на стороне сервера и клиента?
<ListView x:Name="lvLikes" ItemsSource="{Binding Likes}">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<Label Text="{Binding Post.Title}" VerticalTextAlignment="Center" FontSize="Small" />
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
enum LikeType { Like, Love, LOL, Sad };
class Like
{
public string PostRef;
public LikeType Type;
public Post Post
{
get
{
// HOW TO GET DATA ASYNC. HERE ?
return await Server.GetPostAsync(PostRef);
}
}
}
class Post
{
public string Title;
public string Description;
public string Image;
}
class MyPage
{
async Task InitializeLikes()
{
lvLikes.BindingContext = await Server.GetLikes();
}
}