Integer without a cast

  • Das hat nichts mit Ausnahme zu tun.

    NS sagt überhaupt nichts über den Typen aus. Deshalb git es da auch keine Regel und wo keine Regel ist, gibt es auch keine Ausnahme. NS heißt schlicht, dass der Bezeichner in Cocoa definiert wurde.
    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"?
  • robin_ schrieb:

    Bei Objekten gehört immer der Stern dazu. Dass du denkst, NSInteger wäre eins, liegt wahrscheinlich daran, dass es mit "NS" anfängt. Es gibt aber Ausnahmen, zb. noch NSRange, die mit NS anfangen, jedoch keine Objekte sind.

    Beides falsch. ^^

    1) Siehe Amins Beitrag: NS bedeutet, dass es ein Cocoa-Bezeichner ist. (Genau genommen bedeutet es, dass es ein NextStep Bezeichner ist, aber das führt zu weit.)
    Es ist egal ob es sich um NSObject, NSUInteger, NSSize oder NSMakeRect() handelt, es ist in Cocoa definiert. Und obwohl hier gleichermaßen Objekt, Skalar, Struktur und Funktion genannt wurden fangen sie alle mit NS an.

    2) Bei Objekten gehört nicht immer der Stern dazu.
    Der Stern bedeutet, dass man einen Zeiger mit folgendem Namen von vorstehendem Typen haben möchte.

    C-Quellcode

    1. NSArray*newArray;
    2. NSString*name;

    (Die Anzahl und Anordnung der Leerzeichen ist im Übrigen wurscht.)

    Da ObjC aber auch typenlos bindet, stellt sich die Frage was bei einem Zeiger mit folgendem Namen ohne Typen passiert.

    C-Quellcode

    1. id newArray;
    2. id name;

    Kein Typ, kein Stern, so einfach ist das.

    Herr Lehmann:

    C-Quellcode

    1. int integer=5;
    2. int*pointerToInteger=&integer;

    Kein Objekt, aber ein Sternchen.
    Funktioniert dieser Code?
    Wenn ja: was tut er?
    Wenn nein: warum nicht?

    Im Übrigen werde ich das Gefühl nicht los, dass du dich mit dem Projekt ein wenig übernimmst.
    Was genau soll das denn werden? :)
    «Applejack» "Don't you use your fancy mathematics to muddle the issue!"

    Iä-86! Iä-64! Awavauatsh fthagn!

    kmr schrieb:

    Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P
  • Na, ja,das mit dem Stern ist so eine Sache:

    a) id ist kein Bezeichner von Cocoa, sondern ein Schlüsselwort von Objective-C.

    b) Das ist natürlich auch ein Zeiger. Der ist bloß wegen eines Typedefs nicht mehr sichtbar. Aber er meinte ja damit, dass es ein Zeiger ist.

    Wenn man es wirklich wörtlich nimmt, braucht man übrigens gar nicht Objective-C, sondern kann bei Cocoa bleiben:

    Quellcode

    1. typedef NSString* StringID;
    2. StringID myString = @"Amin";
    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"?
  • Amin Negm-Awad schrieb:

    Na, ja,das mit dem Stern ist so eine Sache:

    a) id ist kein Bezeichner von Cocoa, sondern ein Schlüsselwort von Objective-C.

    b) Das ist natürlich auch ein Zeiger. Der ist bloß wegen eines Typedefs nicht mehr sichtbar. Aber er meinte ja damit, dass es ein Zeiger ist.

    Wenn man es wirklich wörtlich nimmt, braucht man übrigens gar nicht Objective-C, sondern kann bei Cocoa bleiben:

    Quellcode

    1. typedef NSString* StringID;
    2. StringID myString = @"Amin";


    nenne es doch gleich NSStringRef oder NSStringPtr ;)
  • gritsch schrieb:

    Lucas de Vil schrieb:

    gritsch schrieb:

    nenne es doch gleich NSStringRef oder NSStringPtr ;-)

    War das nicht CFStringRef, oder ist das wieder was ganz anderes?

    NS ist doch nicht CF ;-)

    Mir ist klar, dass NextStep nicht CoreFoundation ist.
    Da ich aber auf die Schnelle im Netz keinen Verweis auf NSStringRef fand sondern nur welche auf CFStringRef hegte ich halt die Vermutung du könntest dich vertan haben.
    Da dies jedoch nur eine Vermutung ist fragte ich lieber unverbindlich nach. ;)
    «Applejack» "Don't you use your fancy mathematics to muddle the issue!"

    Iä-86! Iä-64! Awavauatsh fthagn!

    kmr schrieb:

    Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P
  • gritsch schrieb:

    Amin Negm-Awad schrieb:

    Na, ja,das mit dem Stern ist so eine Sache:

    a) id ist kein Bezeichner von Cocoa, sondern ein Schlüsselwort von Objective-C.

    b) Das ist natürlich auch ein Zeiger. Der ist bloß wegen eines Typedefs nicht mehr sichtbar. Aber er meinte ja damit, dass es ein Zeiger ist.

    Wenn man es wirklich wörtlich nimmt, braucht man übrigens gar nicht Objective-C, sondern kann bei Cocoa bleiben:

    Quellcode

    1. typedef NSString* StringID;
    2. StringID myString = @"Amin";


    nenne es doch gleich NSStringRef oder NSStringPtr ;)

    Ich wollte ja gerade etwas Selbstgebautes.
    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"?
  • Lucas de Vil schrieb:

    gritsch schrieb:

    Lucas de Vil schrieb:

    gritsch schrieb:

    nenne es doch gleich NSStringRef oder NSStringPtr ;)

    War das nicht CFStringRef, oder ist das wieder was ganz anderes?

    NS ist doch nicht CF ;)

    Mir ist klar, dass NextStep nicht CoreFoundation ist.
    Da ich aber auf die Schnelle im Netz keinen Verweis auf NSStringRef fand sondern nur welche auf CFStringRef hegte ich halt die Vermutung du könntest dich vertan haben.
    Da dies jedoch nur eine Vermutung ist fragte ich lieber unverbindlich nach. ;)


    CFStringRef gibts schon, deswegen kann man das ja nicht mehr verwenden.
  • Lucas de Vil schrieb:

    gritsch schrieb:

    Lucas de Vil schrieb:

    gritsch schrieb:

    nenne es doch gleich NSStringRef oder NSStringPtr ;)

    War das nicht CFStringRef, oder ist das wieder was ganz anderes?

    NS ist doch nicht CF ;)

    Mir ist klar, dass NextStep nicht CoreFoundation ist.
    Da ich aber auf die Schnelle im Netz keinen Verweis auf NSStringRef fand sondern nur welche auf CFStringRef hegte ich halt die Vermutung du könntest dich vertan haben.
    Da dies jedoch nur eine Vermutung ist fragte ich lieber unverbindlich nach. ;)

    Damit liegst du auch nicht so falch, finden bei mir doch weder Xcode noch Spotlight NSStringRef oder NSStringPtr. 10.6
    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"?
  • gritsch schrieb:

    Lucas de Vil schrieb:

    gritsch schrieb:

    Lucas de Vil schrieb:

    gritsch schrieb:

    nenne es doch gleich NSStringRef oder NSStringPtr ;)

    War das nicht CFStringRef, oder ist das wieder was ganz anderes?

    NS ist doch nicht CF ;)

    Mir ist klar, dass NextStep nicht CoreFoundation ist.
    Da ich aber auf die Schnelle im Netz keinen Verweis auf NSStringRef fand sondern nur welche auf CFStringRef hegte ich halt die Vermutung du könntest dich vertan haben.
    Da dies jedoch nur eine Vermutung ist fragte ich lieber unverbindlich nach. ;)


    CFStringRef gibts schon, deswegen kann man das ja nicht mehr verwenden.

    Und wieso soll ich es dann NSStringRef oder NSStringPtr nennen?
    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"?
  • Amin Negm-Awad schrieb:

    gritsch schrieb:

    Lucas de Vil schrieb:

    gritsch schrieb:

    Lucas de Vil schrieb:

    gritsch schrieb:

    nenne es doch gleich NSStringRef oder NSStringPtr ;)

    War das nicht CFStringRef, oder ist das wieder was ganz anderes?

    NS ist doch nicht CF ;)

    Mir ist klar, dass NextStep nicht CoreFoundation ist.
    Da ich aber auf die Schnelle im Netz keinen Verweis auf NSStringRef fand sondern nur welche auf CFStringRef hegte ich halt die Vermutung du könntest dich vertan haben.
    Da dies jedoch nur eine Vermutung ist fragte ich lieber unverbindlich nach. ;)


    CFStringRef gibts schon, deswegen kann man das ja nicht mehr verwenden.

    Und wieso soll ich es dann NSStringRef oder NSStringPtr nennen?


    warum solltest du es StringID nennen?
  • gritsch schrieb:

    Amin Negm-Awad schrieb:

    gritsch schrieb:

    Lucas de Vil schrieb:

    gritsch schrieb:

    Lucas de Vil schrieb:

    gritsch schrieb:

    nenne es doch gleich NSStringRef oder NSStringPtr ;)

    War das nicht CFStringRef, oder ist das wieder was ganz anderes?

    NS ist doch nicht CF ;)

    Mir ist klar, dass NextStep nicht CoreFoundation ist.
    Da ich aber auf die Schnelle im Netz keinen Verweis auf NSStringRef fand sondern nur welche auf CFStringRef hegte ich halt die Vermutung du könntest dich vertan haben.
    Da dies jedoch nur eine Vermutung ist fragte ich lieber unverbindlich nach. ;)


    CFStringRef gibts schon, deswegen kann man das ja nicht mehr verwenden.

    Und wieso soll ich es dann NSStringRef oder NSStringPtr nennen?


    warum solltest du es StringID nennen?

    a) Hätte ich NSStringPtr oder NSStringRef genannt hättest du geantwortet, dass ich es doch gleich StringID oder NSStringRef bzw. StringID oder NSStringPtr hätte nenen sollen.

    b) Wichtiger: Objective-C nennt Zeiger auf Objekte weder Ptr noch Pointer noch Ref noch Referenz, sondern id. Wieso sollte ich also nicht die zutreffende Bezeichnung von Objective-C verwenden?
    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"?
  • Amin Negm-Awad schrieb:

    gritsch schrieb:

    Amin Negm-Awad schrieb:

    gritsch schrieb:

    Lucas de Vil schrieb:

    gritsch schrieb:

    Lucas de Vil schrieb:

    gritsch schrieb:

    nenne es doch gleich NSStringRef oder NSStringPtr ;)

    War das nicht CFStringRef, oder ist das wieder was ganz anderes?

    NS ist doch nicht CF ;)

    Mir ist klar, dass NextStep nicht CoreFoundation ist.
    Da ich aber auf die Schnelle im Netz keinen Verweis auf NSStringRef fand sondern nur welche auf CFStringRef hegte ich halt die Vermutung du könntest dich vertan haben.
    Da dies jedoch nur eine Vermutung ist fragte ich lieber unverbindlich nach. ;)


    CFStringRef gibts schon, deswegen kann man das ja nicht mehr verwenden.

    Und wieso soll ich es dann NSStringRef oder NSStringPtr nennen?


    warum solltest du es StringID nennen?

    a) Hätte ich NSStringPtr oder NSStringRef genannt hättest du geantwortet, dass ich es doch gleich StringID oder NSStringRef bzw. StringID oder NSStringPtr hätte nenen sollen.

    b) Wichtiger: Objective-C nennt Zeiger auf Objekte weder Ptr noch Pointer noch Ref noch Referenz, sondern id. Wieso sollte ich also nicht die zutreffende Bezeichnung von Objective-C verwenden?


    ja dann meinetwegen NSStringID, aber das NS sollte schon sein - find ich zumindest ;)