Giter Site home page Giter Site logo

chatter's Introduction

Chatter App

Diese App dient hauptsächlich der Demonstration und Übung der Versionskontrolle mit Git und GitHub im Rahmen des iOS Dev Kurses der Universität Heidelberg.

Im vorlesungsbegleitenden App Katalog wird in der Übungsaufgabe 7. Chatter auf die Implementierung dieser App verwiesen.

Funktionalität der App

In dieser App tauschen Instanzen verschiedener Subklassen von CHTRChatter Textnachrichten untereinander aus, die durch Instanzen der Klasse CHTRMessage repräsentiert werden.

Indem jede Subklasse von CHTRChatter die Methoden nextMessage und responseForMessage: überschreibt und unterschiedlich implementiert, kommt eine Chat-Konversation zustande. Damit diese möglichst natürlich wirkt, können innerhalb der Subklasse beliebige Mechaniken implementiert werden. Es sollte jedoch bei der Wahl einer Antwort mindestens auf den Typ der erhaltenen Nachricht eingegangen werden, der als Attribut CHTRMessageType type von CHTRMessage vorliegt.

Es sind momentan folgende Nachrichtentypen verfügbar:

  • CHTRMessageTypeStatement: Einfache Aussagen, Zitate oder Sprüche, die keine bestimmte Antwort erfordern.
  • CHTRMessageTypeJoke (selbsterklärend)
  • CHTRMessageTypeQuestionBool: Frage, auf die eine Ja/Nein-Antwort erwartet wird.
  • CHTRMessageTypeQuestionWhy: Warum-Frage, die eine Erklärung fordert.

Interface & Benutzung

Wird die App gestartet, werden automatisch zwei Instanzen der CHTRChatter Basisklasse erstellt. Diese werden durch die beiden Buttons am unteren Bildschirmrand repräsentiert. Betätigt ihr einen dieser Buttons, könnt ihr den Namen einer Subklasse von CHTRChatter eintippen (z.B. Yoda) und damit ein Objekt dieser Klasse als Chatter setzen.

Betätigt ihr nun kontinuierlich den Button Chat on, guys! rechts in der oberen Leiste, tauschen die beiden Chatter Nachrichten aus, sodass eine Chat-Konversation entsteht.

Eure Aufgabe

Schreibt eine eigene Subklasse, wie in der Übungsaufgabe im App Katalog beschrieben. Die Basisimplementierung von CHTRChatter oder die einfache Subklasse Yoda können euch als Referenz dienen.

Dabei arbeiten wir mit Git zusammen an dieser App. Es ist daher Teil der Aufgabe, einen Fork dieses Repositories zu erstellen und lokal zu klonen, eure Änderungen in Form von Commits zu sichern und diese anschließend als Pull Request im Original-Repository zu integrieren.

chatter's People

Contributors

nilsvu avatar robinsharma48 avatar tuxinator avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.