Я написал свое приложение в Xamarin, сначала тестировалось для Android, а затем для iOS. На Android все работает отлично, а не в iOS. Моя проблема связана с PCLStorage
, которая терпит неудачу при чтении содержимого файла, потому что результат GetFileAsync
равен null
, но не CheckExistsAsync
результат.Проблемы с PCLStorage с Xamarin.iOS
Мой код:
public static async Task loadMyFile(Func<bool, Task> result) {
IFolder rootFolder = FileSystem.Current.LocalStorage;
await rootFolder.CheckExistsAsync("myfile.txt").ContinueWith(async (checkExistsTask) => {
if (checkExistsTask.Result == ExistenceCheckResult.FileExists) {
await rootFolder.GetFileAsync("myfile.txt").ContinueWith(async (getFileTask) => {
try
{
await getFileTask.Result.ReadAllTextAsync().ContinueWith(async (readTextTask) => {
try
{
if (!string.IsNullOrEmpty(readTextTask.Result))
{
doWork(readTextTask.Result);
await result(true);
return;
}
else
{
await result(false);
return;
}
}
catch (Exception e)
{
await result(false);
return;
}
});
}
catch (Exception e)
{
await result(false);
return;
}
});
} else {
await result(false);
return;
}
});
}
Любая идея? Спасибо.
Вы правы. Теперь без ContinueWith отлично работает :) спасибо – benjaminbutton
Для обратного вызова это важно для меня по другим причинам ... большое спасибо – benjaminbutton