1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Frage zum Zugriff auf Array-Stellen

Dieses Thema im Forum "OS X-Developer" wurde erstellt von MarCus88, 01.12.09.

  1. MarCus88

    MarCus88 Alkmene

    Dabei seit:
    29.10.09
    Beiträge:
    31
    Hallo liebe Apfelgemeinde,

    wieder mal hab ich ein Anliegen bei dem ich eure Hilfe benötige.

    Ich möchte unter Xcode eine Cocoa-Application schreiben, bei der ich bei einem Teilschritt auf alle Stellen eines eingelesenen Strings(NSString) Bezug nehmen möchte. Nun hab ich in der Developer-Documentation die Methode "characterAtIndex:" gefunden, die auf mein Vorhaben zu passen scheint.

    Wie setze ich diese Funktion allerdings syntaktisch korrekt um?

    Mein Code sollte in etwa folgende Form haben:

    NSString* eingabeValue;
    eingabeValue=[eingabeFeld stringValue];
    int eingabeLength=[eingabeFeld length];

    while(eingabeLength>=0)
    {
    tuWasSinnvolles;
    if([charakter an der stelle "x" des strings "eingabeValue"]=="y") //hier harkts bei mir
    {
    tuNochMehrSinnvolleDinge;
    eingabeLength--;
    x--;
    }
    }

    An der gekennzeichneten Stelle tritt mein oben beschriebenes Problem auf, dass ich nicht weiß wie ich die Bedingung syntaktisch korrekt implementiere. Übrigens soll "x" eine Variable vom Typ int sein, die ich - wie auch die Variable "eingabeLength" dekrementiere.

    Danke für jegliche Hilfe im Voraus!

    Gruß
    MarCus
     
  2. Amin Negm-Awad

    Amin Negm-Awad Süsser Pfaffenapfel

    Dabei seit:
    01.03.07
    Beiträge:
    665
    Welche einführende Literatur benutzt du?
     
  3. MarCus88

    MarCus88 Alkmene

    Dabei seit:
    29.10.09
    Beiträge:
    31
    Oh welch eine Ehre, der Buchautor zu meiner Einstiegslektüre selbst hat sich gemeldet^^

    Damit dürfte sich Ihre Frage geklärt haben ;)

    Das Buch "amin negm-awad objective-c und cocoa band 1 grundlagen" habe ich leider für ein paar Tage verborgt, da wäre ich sicherlich drinnen fündig geworden. Aktuell arbeite ich die ersten Videopodcasts von Peter und Ingo der Reihe "Xcode von NULL auf Hundert" (dürfte sicherlich einigen bekannt sein) durch starte meine ersten Gehversuche mit eigenen kleinen Applikationen für den Mac.
     
  4. MarCus88

    MarCus88 Alkmene

    Dabei seit:
    29.10.09
    Beiträge:
    31
    @LittlePixel

    Danke für die beiden Links, den Index hab ich ja auch schon wie erwähnt selbst in der Developer Documentation von Xcode gefunden, allerdings stehe ich auf dem Schlauch, was die Implementierung der Funktion in meine if-Abfrage angeht. Siehe dazu die gekennzeichnete Stelle in meinem angegebenen Code.

    Kannst du mir sagen was ich dort - mit konkreten Angaben zu meinen genannten Variablen - einsetzen muss?

    Generell hab ich Verständnis was den reinen C-Teil in Objective-C angeht, wir haben in der FH den Vorlesungsstoff zu C beinahe durch.
     
  5. LittlePixel

    LittlePixel Strauwalds neue Goldparmäne

    Dabei seit:
    09.07.08
    Beiträge:
    641
    Code:
    	NSCharacterSet *memberChars = [NSCharacterSet characterSetWithCharactersInString:@"ist"];
    	
    	NSString *textString = @"Das ist ein Text...";
    	NSInteger textLength = [textString length];
    	
    	for(NSInteger n=0; n < textLength; n++) {
    	
    		unichar nChar = [textString characterAtIndex:n];
    	
    		if([memberChars characterIsMember:nChar]) {
    			
    			NSLog(@"%C", nChar);
    		
    		} else {
    			
    			// nix
    			
    		}
    		
    	}
    ... frei getippt. Sollte so funktionieren.

    Aber Du mußt, wie Amin schon sagte, erst einmal Grundlagen erlernen.

    Viele Grüße
     
  6. MarCus88

    MarCus88 Alkmene

    Dabei seit:
    29.10.09
    Beiträge:
    31
    Hey vielen Dank! Das werde ich nach den Vorlesungen heute zu Hause direkt ausprobieren und wahrscheinlich hab ich das Buch dann schon wieder zurück, dann schlage ich die Funktion nach. :)
     
  7. MarCus88

    MarCus88 Alkmene

    Dabei seit:
    29.10.09
    Beiträge:
    31
    Sorry für den Doppelpost, aber ich hab noch eine Frage. Soweit ich das ganze richtig verstanden habe, ist die Zeile

    Code:
    CharacterSet *memberChars = [NSCharacterSet characterSetWithCharactersInString:@"ist"];
    nur dann nötig, wenn ich meinen String auf das Vorhandensein einer Zeichenfolge überprüfen möchte, in dem Fall die Zeichenfolge "ist".

    In meinem ganz konkreten Fall möchte ich aber nur auf das Vorhandensein der Ziffer '1' an der jeweiligen Stelle überprüfen. Ist dann meine Überlegung korrekt, dass meine if-Zeile auch so ausschauen könnte? :

    Code:
    if([textString characterAtIndex:n]=='1')
     
  8. below

    below Kalterer Böhmer

    Dabei seit:
    08.10.06
    Beiträge:
    2.865
    Nein, das hast Du nicht richtig verstanden.

    Dadurch wird eine Zeichensatz-Menge erzeugt, die die Element "i", "s", und "t" hat. (Und wie immer sind die Elemente einer Menge nicht geordnet)

    Alex
     

Diese Seite empfehlen