Im folgenden Code zeigt die erste Protokollanweisung eine Dezimalzahl wie erwartet, aber die zweite protokolliert NULL. Was mache ich falsch?Erstellen eines NSDictionary
NSDictionary *entry = [[NSDictionary alloc] initWithObjectsAndKeys:
@"x", [NSNumber numberWithDouble:acceleration.x],
@"y", [NSNumber numberWithDouble:acceleration.y],
@"z", [NSNumber numberWithDouble:acceleration.z],
@"date", [NSDate date],
nil];
NSLog([NSString stringWithFormat:@"%@", [NSNumber numberWithDouble:acceleration.x]]);
NSLog([NSString stringWithFormat:@"%@", [entry objectForKey:@"x"]]);
auf einer nicht verwandte Notiz, die [NSString string:] Bit ist nicht notwendig und potenziell schädlich. Sie sollten NSLog wie folgt aufrufen: NSLog (@ "% @", [entry objectForKey: @ "x"]) ;. Der erste Parameter für NSLog ist eine Formatzeichenkette, die fast immer ein Literal sein sollte. –