Je suis également ajouté à un tableau avec une boucle pour ajouter au domaine.
for _ in 0...7 { datePicked = datePicked + 24*60*60 }
3 Réponses :
Si j'ai bien compris votre question, vous pouvez essayer ceci:
for _ in 1...numberOfTransactionsToAdd { let addedTransaction = Transaction() addedTransaction.transactionAmount = amount addedTransaction.transactionName = name addedTransaction.transactionDescription = desc addedTransaction.transactionCategory = category // specify your date components (add month, day, whatever you need) var dateComponent = DateComponents() dateComponent.day = 1 dateComponent.month = 2 // add the date components to `datePicked` let newDate = Calendar.current.date(byAdding: dateComponent, to: datePicked)! // set `transactionDate` to your new date addedTransaction.transactionDate = newDate transactionArray.append(addedTransaction) }
C'est très proche. Mais il définit simplement toutes les transactions au nouveauDate. Peut-être que j'ai besoin de mettre en œuvre une autre en boucle? Je travaille sur une solution ...
@Briscoleg Vous n'avez pas mentionné Comment i> voulez-vous le faire. Pour vous aider, nous avons besoin de plus d'informations. Si vous souhaitez simplement augmenter chaque date d'un jour (ou par un intervalle constant), vous pouvez ajouter le paramètre code> index code> à la boucle de la boucle.
Voici comment j'ai résolu ce dilemme:
J'ai utilisé swiftdate https://cocoapods.org/pods / SwiftDate pour faciliter le fonctionnement avec les dates. P>
J'ai ajouté un mois à standingpicked à la fin de la boucle, après transactionarray.append. De cette façon, la première date de transaction est à la date cueillie. P>
Voici ce que le code ressemble à: p> Je prévois d'étendre la fonctionnalité à Rendez-le plus polyvalent, mais c'est ce qui a fonctionné pour moi (pour l'instant). P> p>
Nous ne savons pas quel type de var standardpicked code> est. C'est génial de travailler pour vous, mais ce sera inutile pour les autres sans plus d'informations. Pouvez-vous mettre à jour pour le rendre plus complet? Y compris votre objet de royaume serait génial.
Il existe une réponse existante, mais elle repose sur un module tiers, ce qui n'est pas une mauvaise chose, mais s'il ne devait pas être mis à jour à l'avenir, cela invaliderait la réponse. De plus, les objets utilisés ne sont pas clairement définis.
TL; DR - Il n'y a pas besoin d'une liste ou d'une matrice. Écrivez les transactions comme elles sont créées et peuplées. P>
Détail: P>
Voici une réponse rapide plus complète, en commençant par l'objet TransactionClass RealM qui a une commodité init pour la date du transaction ainsi qu'une clé primaire qui est généralement une bonne idée d'avoir sur des objets. p> puis une fonction qui crée un certain nombre de transactions récurrentes basées sur la catégorie de pickedDate P > et la sortie lorsqu'il est imprimé p>
Comment savez-vous quoi augmenter la date?
La question est assez vague puisque nous ne savons pas à quel point le montant, le nom, le satellisked, etc. est peuplé. Cela étant dit, ce code, tel quel, créera un tas d'objets de transaction en double () avec toutes leurs propriétés identiques. Ce n'est probablement pas ce que vous voulez, mais peut-être que c'est? Pouvez-vous clarifier? De plus, nous ne savons pas ce que vous voulez faire avec la propriété saintpicked. Qu'est-ce qu'un intervalle hebdomadaire et mensuel i>? Comment une seule propriété serait-elle un et i> par ex. Une seule propriété occupe une hebdomadaire et un intervalle mensuel?
@Joakim, c'est ma première application et j'ai eu des difficultés à mettre en œuvre cette fonctionnalité. Je souhaite que l'utilisateur puisse sauvegarder une transaction et qu'il ait répété ce qu'ils choisissent. S'ils sont payés toutes les 2 semaines ou les 1er et 15e, ils devraient pouvoir faire cela se produire sans avoir à le faire manuellement 100 fois. Quelque chose de similaire à [TBrePeatPicker]: Cocoapods.org/pods/tbrereeatPicker
@Jay Chaque transaction devrait avoir une date unique. Exemple: l'utilisateur dispose d'une charge de téléphone portable sur leur compte le 12 juin, 12 juillet, 12 août ... et avez-la répéter pendant 10 ans ou quelque chose. Tout le reste sur la transaction (catégorie, montant, nom) est identique à l'exception de la date. J'aime TBrePeatPicker sur Cocoapodes, mais je ne peux pas installer la version Swift 4. Je viens de commencer à coder il y a quelques mois et j'essaie de déterminer comment ajouter cette fonctionnalité.
Je ne suis pas sûr d'où la difficulté est exactement. Lorsque l'utilisateur choisit le 12 juin, répétez tous les mois pendant un an, créez 12 transactions avec la date associée 6/6/12 7/6/6/12, etc. Cela fonctionne-t-il?
@Jay La difficulté est que je suis très vert et que les boucles sont encore difficiles pour que je puisse comprendre. Je n'ai jamais écrit une seule ligne de code avant quelques mois. J'ai trouvé une solution et posté la réponse sur cette page. Je ne sais pas si c'est le meilleur moyen, mais cela fonctionnera pour le moment. Merci pour l'aide!