asynchroner Ablauf mit KVC

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Es mag sich für euch trivial anhören, aber ich scheitere scheinbar an grundlegenden Dingen wie einer Konstante. Also bitte nicht böse nehmen Amin.

    Die Konstante benötige ich ja in zwei Funktionen. In der ersten wird der Observer gesetzt. In der zweiten zum Vergleich mit dem Kontext. Das heißt für mich, die Konstante muß ich global definieren.

    Momentan sieht es bei mir so aus:

    Quellcode

    1. -(void)awakeFromNib {
    2. static const NSString *_requestContext = @"requestContext";
    3. }
    Allerdings sagt mir XCode dabei, daß diese Variable ungenutzt ist. Also bin ich mir unsicher, ob ich das richtig gemacht habe. Ich trau mich schon gar nicht mehr, meine zweite Frage zu stellen. Erstmal muß ich wohl dieses grundlegendere Problem lösen.

    Marco
  • ir scheinen beide Probleme unabhängig voneinander lösbar zu sein. Darüber muss ich allerdings nachdenken Aber sei's drum: Solange man einen Fehler kennt, denke ich ohnehin ungerne darüber nach, welche Auswirkungen der noch haben könnte.

    Deine Variable ist nicht global, hat jedenfalls keine globale Sichtbarkeit. Sie befindet sich zwischen geschweiften Klammern. Wenn du eine globale Variable willst, muss diese außerhalb jeglicher Klammer stehen. Wie man im Einzelnen einen gobalen Identifier anlegt, erläutere ich auf Seite 512 f.

    (extern + const + Trennung von Deklaration und Definition)
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?
  • Quellcode

    1. +(NSData*)getRequestData

    Das Plus vor der Methode deutet auf eine Klassenmethode hin, und Du schickst die Nachricht an eine INSTANZ der Klasse Request, oder?

    Ich würde das Ganze ganz anders angehen, ohne daß ich jetzt einen Überblick über Deine verwendeten Klassen habe. Wieso übergibst Du "Request" nicht einfach das Objekt, an das die Antwort geschickt werden soll, dann weiß "Request" von selber, was nach der Antwort zu tun ist, nämlich ein schlichter Methodenaufruf an die "Rückantwort-Instanz".

    No.
  • Hallo Norbi,

    das Plus war wirklich der Fehler. Manchmal habe ich diese Grundlagen einfach nicht im Kopf. Ein Minus davor und es ging. Abgesehen davon habe ich mein Programm aber jetzt so umgestellt, wie von dir vorgeschlagen. Ich übergebe das Controller-Objekt an das Request-Objekt und dieses ruft automatisch eine "Ich bin fertig"-Funktion im Controller auf.

    Danke.
    Marco