"Fehlender Kontext für Methodendeklaration" für überschriebene Beschreibungsmethode
Erhalte einen "Fehlenden Kontext für Methodendeklaration" für meine überschriebene Beschreibungsmethode. Kannst du sagen, was mit dem Code nicht stimmt?
<code>#import <Foundation/Foundation.h> #import "BNRItem.h" int main(int argc, const char * argv[]) { @autoreleasepool { // Create a mutable array object, store its address in items variable NSMutableArray *items = [[NSMutableArray alloc]init]; BNRItem *p = [[BNRItem alloc]init]; NSLog(@"%@ %@ %@ %d", [p itemName], [p dateCreated], [p serialNumber], [p valueInDollars]); // This creates a new NSString, "Red Sofa" and gives it to the BNRItem [p setItemName:@"Red Sofa"]; // This creates a new NSString, "A1B2C" and gives it to the BNRItem [p setSerialNumber:@"A1B2C"]; // We send the value 100 to be used as the valueInDollars of this BNRItem [p setValueInDollars:100]; // Destroy the array pointed to by items items = nil; } return 0; } -(NSString *)description // Missing context for method declaration { NSString *descriptionString = [[NSString alloc]initWithFormat:@"%@ (%@): Worth $%d, recorded on %@", itemName; serialNumber; valueInDollars; dateCreated]; return descriptionString; } </code>
BNRItem.m
<code>#import "BNRItem.h" @implementation BNRItem -(void)setItemName:(NSString *)str { itemName = str; } -(NSString *)itemName { return itemName; } -(void)setSerialNumber:(NSString *)str { serialNumber = str; } -(NSString *)serialNumber { return serialNumber; } -(void)setValueInDollars:(int)i { valueInDollars = i; } -(int)valueInDollars { return valueInDollars; } -(NSDate *)dateCreated { return dateCreated; } -(NSString *)description { NSString *descriptionString = [[NSString alloc]initWithFormat:@"%@ (%@): Worth $%d, recorded on %@", itemName, serialNumber; // Expected "]" valueInDollars, // Expression result unused dateCreated]; //Extraneous "]" before ";" return descriptionString; } @end </code>