Разработчик Android и iOS новичок здесь.У меня есть приложение, которое я перевожу на iOS.Я учу Xcode и Swift одновременно, поэтому будьте осторожны, пожалуйста!:)
Мой вопрос заключается в том, что я просто хочу сохранить / получить класс, такой как ниже (в Java):
public class CardDeck implements Parcelable{
private ArrayList<Profile> cards;
private int location;
public CardDeck(){
this.cards = new ArrayList<>();
this.location = 0;
//this.numCards = 0;
}
public CardDeck(ArrayList<Profile> cards) {
this.cards = cards;
this.location = 0;
//this.numCards = cards.size();
}
protected CardDeck(Parcel in) {
cards = in.createTypedArrayList(Profile.CREATOR);
//numCards = in.readInt();
location = in.readInt();
}
}
Я хотел бы сохранить / получить объект CardDeck, который содержитМассив профилей.Мои начальные чтения заставляют меня думать, что вы не можете сделать это ни с UserDefaults, ни с NSCoding, потому что файлы plist не могут содержать пользовательский тип данных, такой как Profile.Я правильно понял?UserDefaults для стандартных типов данных (bool, int, String и т. Д.), И NSCoding может обрабатывать пользовательский объект, такой как CardDeck, НО CardDeck может иметь только элементы, которые являются стандартными типами данных.
Как бы вы, профессионалы, справились с моимпроблема?Базовые данные?
Я обработал это в Android с помощью SharedPreferences
и Gson.toJson(cardDeck)
.
Спасибо за чтение!