Am getting a "Missing context for method declaration" for my overridden description method. Can you tell what's wrong with the 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; }
BNRItem.m
#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
Your method appears to be free floating inside main.m
. An instance method needs to be placed inside the implementation section of a class. (between @implementation
and @end
).
My guess is that you should move that code into BNRItem.m.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With