Converter NSTextField Buch Seite 85ff.

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

  • Converter NSTextField Buch Seite 85ff.

    Hallo,

    ich bin neu hier und fange gerade erst an mit Objective-C. Ich weiß durch Swift ist das vielleicht nicht die beste Idee, aber dümmer wird man dadurch ja auch nicht.

    Zu meinem Problem.

    Auf Seite 85 wird ja das Textfield angelegt und die Eigenschaften soweit beschrieben. Nun schreibt mir aber Xcode Warnungen aus, genauer gesagt 3. Und das zu jeden der drei Textfelder.

    Code:


    #import <Foundation/Foundation.h>

    @interface Converter : NSObject

    @property (weak) IBOutlet NSTextField *inputTextField;

    @property (weak) IBOutlet NSTextField *factorTextField;

    @property (weak) IBOutlet NSTextField *outputTextField;

    @end


    Warnungen
    Unknown type name 'NSTextField'
    Property with 'iboutlet' attribute must be an object type (invalid 'int *')
    Property with 'weak' attribute must be of object type

    Soviel wie ich verstanden habe ist NSTextField ein unbekannter Typ, ebenfalls muss IBOutlet ein Object Type sein und das Attribute weak gehört auch nur zu Objekten.
    Im Vergleich zum Buch fiel mir nur auf das in meinen Projektbaum kein Ordner mit Frameworks ist und auch kein Cocoa.Framework. Muss ich dies einbinden? Wenn ja, wie? Es gibt ja bei Klick auf das Projekt selber die Ansicht General wo es Linked Frameworks und Libraries gibt.

    Ich habe zudem schon etwas weiter gemacht bis Seite 90, dachte vielleicht löst es sich so. Die synthesize sind jetzt in Converter.h gesetzt. Laut Website von Amin Negm-Awad ist dies aber nicht mehr nötig.

    Ich arbeite mit:

    OS 10.9.5
    Xcode 6.0.1

    Danke für die Hilfe

    Gruß
  • Hallo an alle

    Ich bin ein grosser Fan von Apple und habe die letzten Tage angefangen das Programmieren zu lernen. Auf der Seite 95 und 96 im Buch von Amin Negm-Awad komme ich leider nicht weiter. Und zwar wenn ich auf den Debug Converter klicke kommt nichts. Ich habe im Converter.h insgesamt 10 Fehler.
    Es sind die folgenden um nicht alle zu nennen
    Property implementation must have its declaration in interface 'Converter'
    Property with 'weak' attribute must be of object type
    Property with 'iboutlet' attribute must be an object type (invalid 'int *')
    oder auch dieser
    Unknown type name 'NSTextField'

    kurz im Forum habe ich folgenden Ratschlag vom Macmoonshine gelesen:
    Der Compiler kennt NSTextField nicht. Du musst den Header für's AppKit (#import <AppKit/AppKit.h>) importieren.
    Aber das sagt mir gar nichts.
    Kann mir bitte jemand weiter helfen????
    Danke und Gruss
  • 1gor schrieb:

    Hallo an alle

    Ich bin ein grosser Fan von Apple und habe die letzten Tage angefangen das Programmieren zu lernen. Auf der Seite 95 und 96 im Buch von Amin Negm-Awad komme ich leider nicht weiter. Und zwar wenn ich auf den Debug Converter klicke kommt nichts. Ich habe im Converter.h insgesamt 10 Fehler.
    Es sind die folgenden um nicht alle zu nennen
    Property implementation must have its declaration in interface 'Converter'
    Property with 'weak' attribute must be of object type
    Property with 'iboutlet' attribute must be an object type (invalid 'int *')
    oder auch dieser
    Unknown type name 'NSTextField'

    kurz im Forum habe ich folgenden Ratschlag vom Macmoonshine gelesen:
    Der Compiler kennt NSTextField nicht. Du musst den Header für's AppKit (#import <AppKit/AppKit.h>) importieren.
    Aber das sagt mir gar nichts.
    Kann mir bitte jemand weiter helfen????
    Danke und Gruss


    Am besten du importierst in dem zugehörigen Headerfile (.h Datei), wo du das AppKit benötigst, diesen Code.

    Quellcode

    1. #import <AppKit/AppKit.h>


    Fürs Verständnis:
    Du musst schon einen Header einer Klasse importieren, wenn du die Eigenschaften, Methoden etc.. dieser Klasse verwenden willst.

    Weitere Lösung:
    Du verwendest dieses Plugin für Xcode, welches dir automatisch die Imports hinzufügt.

    github.com/lucholaf/Auto-Importer-for-Xcode
  • Besten Dank für Deine schnelle Antwort.

    Jetzt kommt diese Meldung in der Datei .m

    @synthesize resultTextField; Property implementation must have its declaration in interface 'Converter'
    Es hat noch ein Pfeil und der Buchstaben r (bei result)

    Danke im Voraus.
    Gruss
  • 1gor schrieb:

    Besten Dank für Deine schnelle Antwort.

    Jetzt kommt diese Meldung in der Datei .m

    @synthesize resultTextField; Property implementation must have its declaration in interface 'Converter'
    Es hat noch ein Pfeil und der Buchstaben r (bei result)

    Danke im Voraus.
    Gruss


    Die Fehlermeldung erklärt das Problem ja sehr genau.Du musst in der .h Datei ein @property definieren. Bitte schau dir hierfür das Tutorial an oder lies im Buch nach, wie man Properties verwenden kann.
    http://rypress.com/tutorials/objective-c/properties.html

    Edit: Bitte die [code] Tags verwenden, dass macht das Lesen von Code einfacher. ;)