Xcode 从命令行工具到cocoa应用程序
我开始探索objective-c编程,并为命令行工具编写了几行代码。它可以工作,但现在我正试图在Cocoa应用程序中重写它,我遇到了一些问题。这是单线刀具的工作代码:Xcode 从命令行工具到cocoa应用程序,xcode,datepicker,nsdate,nsdateformatter,Xcode,Datepicker,Nsdate,Nsdateformatter,我开始探索objective-c编程,并为命令行工具编写了几行代码。它可以工作,但现在我正试图在Cocoa应用程序中重写它,我遇到了一些问题。这是单线刀具的工作代码: //Formattazione delle date preimpostate NSDateFormatter *formatoData = [[NSDateFormatter alloc] init]; [formatoData setDateFormat:@"dd/MM/yyyy"]; //Defi
//Formattazione delle date preimpostate
NSDateFormatter *formatoData = [[NSDateFormatter alloc] init];
[formatoData setDateFormat:@"dd/MM/yyyy"];
//Definizione della data di inizio e della data di fine
NSDate * dataInizio = [formatoData dateFromString:datePicker];
//Risultato
NSString *risultato=[dataInizio descriptionWithCalendarFormat:@"%w" timeZone:nil locale:nil];
//Output
NSLog(@"Il giorno impostato è %@", risultato);
为了创建Cocoa应用程序,我创建了一个名为VisualizaClasse的objective-C类。
VisualizaClasse.h:
#import <Foundation/Foundation.h>
@interface VisualizzaClasse : NSObject
{
IBOutlet NSDatePicker *datePicker;
IBOutlet NSTextView *textView;}
- (IBAction)mostraRisultato:(id)sender;
@end
接口由日期选择器、TextView和按钮组成。我无法使日期选择器替换dateFromString。错误是:不兼容的指针类型将“NSDatePicker”发送到“NSString*”类型的参数,在第行:
NSDate * dataInizio = [formatoData dateFromString:datePicker];
有人能帮我吗?dateFromString方法需要NSString,您的参数类型是NSDatePicker 使用NSDate*dateVariable=datePicker.date;如果需要将dateFromString转换为NSDate,请将其替换为dateFromString
一旦有了NSDate,就可以使用中提到的格式化程序。我假设您在InterfaceBuilder中正确连接了NSDatePicker,这样它就可以连接到DatePicker 如果是,您应该能够分配如下内容:
NSDate * unformattedDate = [ datePicker dateValue ];
然后像以前一样进行格式化,使用
unformattedate
作为格式化程序的输入。事实上,如果用@“07/04/2012”替换dataPicker,它可以工作,但我想使用datePicker来设置所需的日期。因此,您可以使用datePicker.date代替dateFromString callI尝试的日期:NSDate*Datainization=[formatoData datePicker.date];但不起作用。首先您有NSDate,然后在NSDate上使用格式化程序,如中所述
NSDate * unformattedDate = [ datePicker dateValue ];