wer spielt hier an meinem return wert?

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

  • wer spielt hier an meinem return wert?

    also bevor ich wieder ewig daran sitze ...

    wer spielt hier an meinem return wert?

    ich kann leider nur mit zwei screens aus dem debugger dienen:

    hier der aufruf des NSLog();
    man achte oben im debuger auf die variablen inhalte
    erster schritt

    hier die ausgabe...
    zweiter schritt

    PS: ändert sich auch nicht nach einem clean Build

    PPS: ein po liefert auch:

    Quellcode

    1. 2006-05-10 20:46:27.247 techedit[16515] 0
    2. (gdb) po 0x3564b0
    3. wasser weigth:1 volume:1
    4. (gdb)
    snafu
    :() { :|: &};:
    sometimes i dream in hex
    Obey gravity! Because its a law!
  • RE: wer spielt hier an meinem return wert?

    Ich rate mal wieder.

    Quellcode

    1. NSLog("%d",[elemente volume]);


    %d vllt. tauschen gegen %f, weil das Volumen ist sicher
    eine Reelezahl vs. Ganzzahl.

    Hoffe du kannst jetzt beruhigt schlafen gehen.
    Aber nicht ärgern wenn es nicht stimmt.

    cu
    Josef
  • RE: wer spielt hier an meinem return wert?

    hm ich bin recht verwirrt

    nach einem Apple - click auf meine methode hab ich gesehn das NSMovieView ebenfals eine Methode volume definiert allerdings - (float)volume;

    ich hab zwar nirgendwo diese Klasse benutzt aber ich hab mal einen direkten cast auf mein enumarator element gemacht seit dem funktioniert es...

    irgendwie scheint da jemand was durcheinander zu bringen ...

    wenn jemand da was genaues weiß ich hab ein offenes ohr...
    snafu
    :() { :|: &};:
    sometimes i dream in hex
    Obey gravity! Because its a law!
  • RE: wer spielt hier an meinem return wert?

    Original von Josef
    Ich rate mal wieder.

    Quellcode

    1. NSLog("%d",[elemente volume]);


    %d vllt. tauschen gegen %f, weil das Volumen ist sicher
    eine Reelezahl vs. Ganzzahl.


    Muesste nicht, auch, wenn die float Zahl 1.0 ist, durch das Format %d eine 1 ausgegeben werden?

    Manfred
  • RE: wer spielt hier an meinem return wert?

    Original von chartus
    hm ich bin recht verwirrt

    nach einem Apple - click auf meine methode hab ich gesehn das NSMovieView ebenfals eine Methode volume definiert allerdings - (float)volume;

    ich hab zwar nirgendwo diese Klasse benutzt aber ich hab mal einen direkten cast auf mein enumarator element gemacht seit dem funktioniert es...

    Sowas hatte ich auch schon mehrfach, dass ich Methodennamen hatte, die auch Apple benutzt hat.
    Normalerweise bekomme ich dann immer Warnings, weil der Compiler dann nicht weis, welche er benutzen soll.
    Seltsam aber trotzdem, da Du ja diese Klasse auch nicht benutzt hast.
    Die muessen dann also global irgendwie bekannt sein.
    Was hast Du denn von Apple #importiert? Nur Cocoa.h?

    Original von chartus
    wenn jemand da was genaues weiß ich hab ein offenes ohr...

    Ja, ich auch.


    Manfred
  • RE: wer spielt hier an meinem return wert?

    Nicht?

    Ich meinte das so:

    Quellcode

    1. float zahl = 1.0;
    2. printf("%d",zahl);


    Kommt da nicht 1 als Ausgabe? Wird nicht intern auf Int gecastet?
    Habs nicht probiert aber ich meine das waere so...


    Manfred
  • RE: wer spielt hier an meinem return wert?

    nein wird nicht gecastet idr erhälst du irgendwas wie 345678 oder ähnliches

    ich hab mit dem debuging ganz schön herumgespielt als float gelogt ein zusätzlichen getter mit anderme namen der [self volume]; aufrief etc

    auf die spur gekommen bin ich erst als ein printf("%d",[elemente volume]); ein warning mit mit implizierter cast auf double (!) aufrief

    irgendwie ist es echt seltsam da trotz -Wall keine anderen warnings kamen

    btw ja, ich hab nur den typischen cocoa import
    ich vermute das da irgende eine optimierung der methodenlookups mist baut und die cocoa eigene volume methode aus NSMovieView (welche ja einen float liefert) der aus meiner eigenen Klasse bevorzugt

    da ich aber nirgends einen NSMovieView implementiere wird das vermutlich ein message to nil wesewegen dann immer null herauskam ...

    soviel zum herrumgestochere im dunkeln...

    naja ich hab die aufrufe jetzt alle expliziet von id auf meine Klasse gecastet scheinbar funktioniert es nun...
    snafu
    :() { :|: &};:
    sometimes i dream in hex
    Obey gravity! Because its a law!
  • RE: wer spielt hier an meinem return wert?

    Bedenke, dass die Parameterliste von NSLog et al. offen ist. Da stehen also keine Typen. gcc checkt zwar zwischen Format-String und Parametern, aber ein Casting aus dem Format-String wäre dann doch wohl etwas hart. (Und ein Verstoß gegen die Sprachbeschreibung.)
    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"?