Метод установки на основе пользовательского ввода - PullRequest
0 голосов
/ 16 октября 2011

Новый в Objective-C и пытается завершить окончательный проект для класса.Я создал метод для установки даты на основе пользовательского ввода, и у меня возникли некоторые проблемы с сеттером.Сначала пользователь должен выбрать опцию для добавления новой записи, а затем программа должна попросить пользователя ввести дату и установить дату на основе этого ввода.

#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;
}

1 Ответ

0 голосов
/ 16 октября 2011
-(void) setDate:(NSNumber *) newDate;

setDate должен получить аргумент типа NSNumber*. Но вы вызываете метод без передачи какого-либо параметра.

 [newPlanner setDate]; //  [newPlanner setDate: shouldPassNSNumberArgument];

Мне нравится -

[newPlanner setDate:[NSNumber numberWithInt:10] ];
...