Comment remplir une scrollView

Bonjour,


Me revoilà , j'ai bien avancé sur la compréhension de Swift et d'XCode.


Si je démarre un nouveau post c'est que j'ai un souci bien-entendu.


 


J'ouvre un fichier avec ce genre de texte dedans :



 


03:30;AUD;Moyenne;PIB (Annuel) (T1);1,7%;1,5%;2,4%;


03:30;AUD;Faible;PIB - Dépenses d'investissement (Capex) (T1);-0,6%;;;


03:30;AUD;Faible;PIB - Indice des prix en chaà®ne (T1);2,2%;;2,9%;


03:30;AUD;Faible;PIB - Consommation finale (T1);0,6%;;0,7%;


07:00;JPY;Faible;Indicateur coà¯ncident (Mensuel) (Avr);3,3%;;-0,6%;



et il faut que je mette ce texte dans une scrollview, j'ai beau cherché des post qui traitent de çà , y a pas grand chose.


 


alors comment procède-t-on pour faire un tableau en sorte.


 


Merci


Réponses

  • LarmeLarme Membre

    UIScrollView ? Ou UITextView (qui peut se scroller, quitte à  la rendre non-éditable) ou UITableView , qui doivent tous deux contenir une UIScrollView à  un moment donné dans leur historique/ancêtre ?


  • PatyomPatyom Membre
    juin 2017 modifié #3


    UIScrollView ? Ou UITextView (qui peut se scroller, quitte à  la rendre non-éditable) ou UITableView , qui doivent tous deux contenir une UIScrollView à  un moment donné dans leur historique/ancêtre ?




    Je programme une appli sur OSX et pas IOS, pour l'instant je me concentre sur OSX.


     


    Modérateur: ah ben alors, je déplace vers la bonne section.


     


    Là , je ne sais pas vraiment quoi utiliser Scrollview ou textview.


    Ce que je voudrais c'est mettre çà  en colonnes pour le visuel.


    Je voudrais apprendre à  faire cà .


  • ifouifou Membre

    Je ne m'y connais pas (encore) beaucoup, donc je parle sous le contrôle des initiés à  la programmation AppKit/UIKit des gens sur le forum. Notamment je me suis concentré ces derniers temps exclusivement sur UIKit(/iOS).


     


    Mais vu la tête de tes données je pense que tu ton choix devrait se porter sur une tableview. J'ai bien l'impression que c'est ce qui serait le + adapté à  ton besoin. UITableview est une view existant pour UIKit, et je suppose qu'il existe un équivalent sous AppKit.


     


    J'encourage fortement les initiés du forum à  confirmer/infirmer mes affirmations. :-)


  • NSTextView devrait répondre à  tes besoins. Enfin je présume, n'ayant guère pratiqué le développement macOS. C'est l'équivalent de UITextView qui aurais répondu à  ton attente, si tu travaillais sur un système informatique digne de ce nom (iPhone ou iPad).


     


    L'avantage c'est que tu peut écrire des textes enrichis dedans (NSAttributString), pour mettre un peu d'animation dans tes textes assez aride à  première vue. Un peu de gras, d'italique et de couleur n'ont jamais nuit à  la lisibilité d'un texte, au contraire .. En plus tu n'as pas à  te préoccuper du scrolling, le composant s'occupant lui-même de ça.


     


    Tu as juste besoin d'écrire le texte dans une longue chaine, et la communiquer au composant. Enfin en espérant qu'il est aussi évolué que UITextView. On a parfois des surprises en voulant transcrire du code iOS en macOS. * croise les doigts *

  • CéroceCéroce Membre, Modérateur
    juin 2017 modifié #6

    Une NSTableView est tout indiquée.

    Je ne vais pas t'expliquer ici comment faire, parce que c'est un large sujet, et qu'on dispose de deux solutions:

    les data sources (conseillé dans un premier temps) ou les bindings.


    Je te conseille surtout de te procurer la dernière édition du livre d'Aaron Hillegass, même s'il est un peu dépassé, même si les exemples sont en Swift 1 sous Xcode 6, parce que c'est à  peu près le seul qui couvre le développement Cocoa sur Mac.


     


    Franchement, commencer par le Mac n'est pas le plus simple...


  • Un tuto sur l'utilisation de NSTableView en Swift :


     


    https://www.raywenderlich.com/143828/macos-nstableview-tutorial


     


    Et n'oublie pas mon conseil sur l'utilisation des NSAttributedString pour améliorer la présentation de tes données !

  • PatyomPatyom Membre
    juin 2017 modifié #8


    Un tuto sur l'utilisation de NSTableView en Swift :


     


    https://www.raywenderlich.com/143828/macos-nstableview-tutorial


     


    Et n'oublie pas mon conseil sur l'utilisation des NSAttributedString pour améliorer la présentation de tes données !




    Merci, comme j'étais fixé sur les scrollView je n'est pas approfondi sur les NSTableView et justement ce tuto je l'ai stocké. 


    J'en ai visualisé et testé quelques uns de ce "raywenderlich", bien clair !


     


    Si tu penses que c'est la solution alors au travail.


     


    J'ai bien avancé sur Xcode, puissant ce logiciel ! (et j'en suis qu'au début).


     


    Allez bonne soirée, je verrai çà  demain.


  • Il n'est pas recommandé d'utiliser ScrollView. C'est une classe générique de bas niveau, un peu compliqué. Il est préférable d'utiliser des classes spécialisées comme NSTextView ou NSTableView construites à  partir de ScrollView.

  • PatyomPatyom Membre
    juin 2017 modifié #10

    J'ai bien avancé sur les TableView, j'ai réussi à  faire quelques petits progs pour m'initier.


     


    Maintenant il faut que je puisse maitriser les bases de données. vous n'auriez pas quelques liens pour voir comment cela fonctionne.


    les bases en quelques sortes et comment on l'applique en Swift 3.


     


    j'ai, dans mes débuts en programmation, utilisé des bases de données (sur système PICK) je ne sais pas si c'est la même chose. Si oui, je ne devrais pas avoir trop de mal.


     


    J'ai récupérer une tonne d'informations journalières que je dois stocker pour ensuite faire des stats donc il faut que je les dispose toutes de la même façon.


     


    Merci pour vos conseils, çà  m'aide énormément.


     


    Un petit ajout : comment faites-vous pour utiliser une même tableview dans plusieurs view controller 


  • Joanna CarterJoanna Carter Membre, Modérateur
    juin 2017 modifié #11

    Regardes-toi les docs sur Core Data. C'est une "BDD" objet fournisse avec Xcode et qui va très bien (de mon avis)


     


    Lorsque tu crées une nouvelle appli, il ne faut que cocher uses CoreData.


     


    Pour utiliser la meme tableView, tu devrais séparer le UITableViewDataSource et UITableViewDelegate du ViewController qui contient la tableView.


     


    UITableView ne sais comment rien faire. C'est les deux delegates qui la font marcher.




  • J'ai bien avancé sur les TableView, j'ai réussi à  faire quelques petits progs pour m'initier.


     


    Maintenant il faut que je puisse maitriser les bases de données. vous n'auriez pas quelques liens pour voir comment cela fonctionne.


    les bases en quelques sortes et comment on l'applique en Swift 3.


     




    http://forum.cocoacafe.fr/topic/15239-introduction-à -coredata-swift-3/


     




    Un petit ajout : comment faites-vous pour utiliser une même tableview dans plusieurs view controller 




     


    Facile, on ne le fait PAS !


     


    Par contre, rien ne t'empêche de créer plusieurs TableView dans plusieurs viewController avec la même data source. Ce sont les données qui forgent l'identité d'une tableView, pas sa représentation graphique. C'est pour ça que la dataSource d'une TableView est un delegue pouvant se trouver n'importe où dans l'application.


  •  


    http://forum.cocoaca...redata-swift-3/



    Merci pour le lien. Je l'ai survolé mais je le lirai demain, j'ai la tête un peu, même beaucoup, encombrée.


     


    bye



  • Regardes-toi les docs sur Core Data. C'est une "BDD" objet fournisse avec Xcode et qui va très bien (de mon avis)


     




    Merci je vais regarder tout çà  et je reviens 

  • CéroceCéroce Membre, Modérateur

    Par contre, rien ne t'empêche de créer plusieurs TableView dans plusieurs viewController avec la même data source.

    On peut aussi utiliser des "child" view controllers. Par exemple, si ce que affiche la table view doit être visible à  plusieurs endroits.
  • Je suis complètement perdu sur le "core Data"


    Tous les exemples traitent de core data sur IOS.


    Draken ton post de reference traie d'une lecture d'enregistrements mais encore faut-il que j'en ai déjà  créé et c'est la que çà  pêche.


    Comment débuter ?


  • Le post que j'ai cité est une discussion sur un tuto appartenant à  un cours payant sur le développement iOS. C'est vrai que cela ne doit pas être clair pour quelqu'un n'ayant pas regardé le toto d'origine.


     



     


     


    Tous les exemples traitent de core data sur IOS.

    CoreData MacOS et CoreData iOS c'est la même chose. 


     


    Je vais te bricoler en vitesse un tuto sur l''initiation à  CoreData, demain dans la journée.


     


    Pour créer le squelette vide d'une application CoreData pour macOS, il faut :


     


    - créer une nouvelle Cocoa Application


    - cocher la case Use Core Data 


     


    La structure des enregistrements CoreData est définie dans le fichier portant l'extension .xcdatamodeld


     


     


     


     


     


  • Alors là , ce serait "top". Vraiment super.   


     


    Bonne soirée



  •  


    CoreData MacOS et CoreData iOS c'est la même chose. 


     


    Je vais te bricoler en vitesse un tuto sur l''initiation à  CoreData, demain dans la journée.


     


     




    Je n'ai pas eu le temps de m'y coller vendredi (petit problème domestique, toutes les eaux usées de l'immeuble se déversant dans ma cuisine B)  . Il a fallut 4 heures, l'intervention de 5 personnes et d'une camion-pompe de 400 barres de pression pour déboucher la colonne d'évacuation. C'était légèrement stressant).  Je m'attelle maintenant à  ton toto.

  • Ne te prends pas la tête on a tout le temps, c'est déjà  beau que tu m'aides.


     


    Tu as des choses beaucoup plus importantes à  faire.


     


    Bon courage

  • Bah cela me change les idées. Et je le fait plus pour moi que pour toi. Je prépare un cours sur Swift. Répondre à  des questions réelles comme les tiennes m'aide à  peaufiner mon apprentissage.

  • CéroceCéroce Membre, Modérateur
    Juste un truc à  propos de Core Data sur Mac:
    - soit on a une seule base de données par application, auquel cas on peut utiliser NSPersistentContainer pour créer le NSManagedObjectContext (MOC) et ses copains
    - soit on a une BdD par document ("Document-based application"), et là , il vaut mieux utiliser NSPersistentDocument, qui est une sous-classe de NSDocument qui crée et utilise un MOC.
  • DrakenDraken Membre
    juin 2017 modifié #23


    - soit on a une seule base de données par application, auquel cas on peut utiliser NSPersistentContainer pour créer le NSManagedObjectContext (MOC) et ses copains


     




    Bon choix !


     


    Lien vers mon tuto d'introduction : 


     


    http://forum.cocoacafe.fr/topic/15275-macostutorielintroduction-à -coredata/

Connectez-vous ou Inscrivez-vous pour répondre.