Objective-C的新手,并试图完成一个类的最终项目。我已经创建了一个基于用户输入设置日期的方法,并且遇到了setter的一些麻烦。用户首先必须选择添加新条目的选项,然后程序应该要求用户输入日期并根据该输入设置日期。
#import <Foundation/Foundation.h>
@interface Planner : NSObject {
NSNumber *date;
}
-(void) setDate:(NSNumber *)newDate;
-(NSNumber *) date;
@end
@implementation Planner
-(void) setDate:(NSNumber *) newDate
{
date = [[NSNumber alloc] initWithInt: newDate];
NSLog(@"Enter date");
scanf("%i", newDate);
}
-(NSNumber *) date;
{
return date;
}
@end
int main (int argc, const char * argv[])
{
int userAction;
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
Planner *newPlanner = [[Planner alloc] init];
NSLog(@"Please enter 1 to add a new entry and 2 to update an existing entry");
scanf("%i", userAction);
if (userAction == 1) {
[newPlanner setDate];
}
else
NSLog(@"will update");
[pool drain];
return 0;
}
答案 0 :(得分:0)
-(void) setDate:(NSNumber *) newDate;
setDate
应该接收NSNumber*
类型的参数。但是你在没有传递任何参数的情况下调用该方法。
[newPlanner setDate]; // [newPlanner setDate: shouldPassNSNumberArgument];
喜欢 -
[newPlanner setDate:[NSNumber numberWithInt:10] ];