2010-12-17 6 views
0

Ich habe die folgende Codezeile:Probleme Umwandlung NSString enthält Zahl nicht konvertieren integer

NSString *dMidiInfo = [object valueForKey:@"midiInformation"]; 

, dass diese aus dem Debugger zurückgibt:

{type = unveränderlich, count = 1, Kapazität = 3, Paare = ( 3: {Inhalt = "192"}

aus dieser Log-Anweisung NSLog(@"this is the string: %@",dMidiInfo);

ich diese: {()}

aber, wenn diese Zeile ausführt:

firstByteB = [dMidiInfo intValue]; 

ich diesen Fehler:

[NSCFSet intValue]: Unbekannter Selektor gesendet Instanz 0x176f10

Sind die Klammern meinen Code durcheinander bringen?

Nach einigen weiteren Fehlersuche: Dieser Code tatsächlich mit einer Abrufanforderung mit diesem Code gearbeitet:

NSFetchRequest *request = [[NSFetchRequest alloc] init]; 
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Effect" inManagedObjectContext:context]; 
[request setEntity:entity]; 
NSError *error; 
NSMutableArray *mutableFetchResults = [[context executeFetchRequest:request error:&error] mutableCopy]; 

Diese alle Einheiten zurückkehrte, ich habe versucht, eine Einheit zurückzukehren, damit ich auf diese umgeschaltet:

NSArray * currentSelSong = [sillySongs ausgewählteObjekte]; NSMutableArray * mutableFetchResults = [currentSelSong valueForKey: @ "songToEffect"];

Es scheint, dass die selectedObjects die Klammern

+3

Ich glaube, dass "Objekt" 'midiInformation' -Eigenschaft ist eigentlich eine' NSSet' Instanz, nicht ein 'NSString' –

+0

@Jacob, das ist sicherlich eine Antwort und kein Kommentar. Warum hast du die Antwort gelöscht? – paxdiablo

+0

@paxdiablo Undeleted. Vielen Dank! xD –

Antwort

2

fügt Ich glaube, dass die object ‚s midiInformation Eigenschaft ist eigentlich eine NSSet Instanz, kein NSString.

+0

benutze [midiInformation anyObject], um den NSString zu erhalten –

+0

Ich denke, dass du das bekommen hast: NSSet * midiSecondByte = [object valueForKey: @ "midiSecondByte"]; \t \t NSString * secIntString = [MidiSecondByte anyObject]; \t \t secondByteB = [secIntString intValue]; Und das ist, was am Ende funktionierte! Danke eine Tonne Loren –

Verwandte Themen