NSInvalidArgumentException, null-argument

Ist, habe ich mich über die Website für eine Weile und ich sah ein paar Dinge, aber nichts für mich gearbeitet. Extreme newbie hier aber.

Ich versuche, mich ein 2-Komponenten-picker, bevölkert von arrays, gefüllt aus einem Wörterbuch, bevölkert von einer plist. Die Komponenten füllen, und ich habe eine Schaltfläche, die spins einer Komponente. Der zweite button ist gedacht, um zu überprüfen, Antworten (die erste Komponente hat die Staaten, die Sie versuchen zu entsprechen, mit Kapitellen in der zweiten Komponente), aber das ist, wo es immer abstürzt.

Den Fehler den ich bekomme, ist wie folgt:

* Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '* -[NSPlaceholderString initWithFormat:Einsatzort:Argumente:]: nil argument'

* Ersten Wurf Aufruf-stack:
(0x14b3022 0xeb3cd6 0x145ba48 0x145b9b9 0x916169 0x916ab4 0x3036 0x14b4e99 0x1914e 0x190e6 0xbfade 0xbffa7 0xbf266 0x3e3c0 0x3e5e6 0x24dc4 0x18634 0x139def5 0x1487195 0x13ebff2 0x13ea8da 0x13e9d84 0x13e9c9b 0x139c7d8 0x139c88a 0x16626 0x27ad 0x2715)
terminate aufgerufen, eine Ausnahme zu werfen(lldb)

Ich bin mir nicht sicher, wohin ich gehe falsch. Ich habe dies getan, mit hart-kodierten arrays, und es funktioniert gut. Der code für die Schaltfläche ist so (bitte ignorieren Sie den Schalter code, ich habe nicht ganz herausgefunden, wie man das noch funktionieren, möchte ich den Bildschirm auf grün für richtige Antworten und rot für falsch, aber ich bin mehr damit beschäftigt, die app stürzt!):

-(IBAction)checkAnswer;
{
NSInteger StateRow = [pickerCapital selectedRowInComponent:karrayStateComponent];
NSInteger CapitalRow =[pickerCapital selectedRowInComponent:karrayCapitalComponent];

NSString *state = [arrayState objectAtIndex:StateRow];
NSString *capital = [arrayCapital objectAtIndex:CapitalRow];

NSLog (@"%i",[pickerCapital selectedRowInComponent:karrayCapitalComponent]);
NSLog(@"%i", [pickerCapital selectedRowInComponent:karrayStateComponent]);

NSString *Title = [[NSString alloc]initWithFormat:@"You have selected %@ as the capital of %@.", capital, state];
NSString *Message =[[NSString alloc]initWithFormat:lblMsg];

UIAlertView *alert =[[UIAlertView alloc]initWithTitle:Title message:Message delegate:@"" cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];

if (StateRow == CapitalRow) {
    lblMsg = @"You are correct!";
    UIColor *myColor;
    switch ([not sure what to use here]) {
        case 0:
        myColor = [UIColor greenColor];
            break;
        default:
            break;
    }
}
else {
    lblMsg = @"Incorrect";
    UIColor *myColor;
    switch ([not sure what to use here]) {
        case 0:
        myColor = [UIColor redColor];
            break;        
        default:
            break;
    }
}

}

Wenn jemand kann bieten Ihnen jede Art von Hilfe wäre ich sehr dankbar! Danke!

  • Sie müssen, um eine Ausnahme Haltepunkt, so dass Sie sehen können, wo die Ausnahme ausgelöst wird. Blick auf die Antworten zu dieser Frage: stackoverflow.com/questions/4961770/...
  • Ah, ok! Die Ausnahme kam bei NSString *Message, das sich speziell an lblMsg. Es sagt, "Format-string kein string literal (potentiell unsicheren)". Ich hatte diese gleichen gelben Fehler auf meinem anderen Knopf, aber es nie bildete eine Ausnahme.
InformationsquelleAutor user1678809 | 2012-10-15
Schreibe einen Kommentar