次のクラスHelloWorldViewControllerがあります
-(void) addDate method
NSDate *myDate = [myDatePIcker dateValue];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"YYYYMMdd"];
NSLog(@"addDate date is:%@",[dateFormat stringFromDate:myDate]);
上記のメソッドをから呼び出すと、このようにIBAction ...
- (IBAction)myAddDate:(id)sender {
[self addDate];
}
意図したとおりに機能します(以下のNSLogを参照)
2013-03-14 09:05:33.149 APPNAME[3531:303] AWAKENED in Hello 2013-03-14 16:05:33 +0000
2013-03-14 09:05:33.150 APPNAME[3531:303] AWAKENED in Hello (null)
2013-03-14 09:05:35.898 APPNAME[3531:303] addDate date is:20130314
2013-03-14 09:05:35.899 APPNAME[3531:303] addDate completed with date 20130314
しかし、サブクラス化された別のクラス(TableViewController)のメソッド(datePickerAction)からその-(void)関数を呼び出す場合は、以下を参照してください...
@implementation TableViewController:HelloWorldViewController
-(IBAction)datePickerAction:(id)sender{
[self addDate];
}
これはNSLogからの出力です
2013-03-14 09:08:01.719 APPNAME[3549:303] AWAKENED in Hello 2013-03-14 16:08:01 +0000
2013-03-14 09:08:01.720 APPNAME[3549:303] AWAKENED in Hello (null)
2013-03-14 09:08:03.321 APPNAME[3549:303] addDate date is:(null)
2013-03-14 09:08:03.322 APPNAME[3549:303] addDate completed with date (null)
2013-03-14 09:08:03.323 APPNAME[3549:303] addDate date is:(null)
2013-03-14 09:08:03.323 APPNAME[3549:303] addDate completed with date (null)
私は緑です、簡単に行ってください:-)どんな提案もありがたいです!
更新:私は以下の解決策を実装しようとしました。更新された追加のコードは次のとおりです。アプリは現在起動しません...提案。
@implementation HelloWorldViewController;
-(id) init{
HelloWorldViewController *myHelloWorldController = [[HelloWorldViewController alloc] init];
return self;
}
#import <Foundation/Foundation.h>
#import <Cocoa/Cocoa.h>
#import "HelloWorldViewController.h"
#import "Date.h"
>>
@interface TableViewController : NSTableView <NSTableViewDataSource> {
IBOutlet NSTableView *tableview;
NSMutableArray *list;}
#import "TableViewController.h"
#import "HelloWorldViewController.h"
@implementation TableViewController{
HelloWorldViewController *myHelloWorldViewController;}
- (id) init{
self = [super init];
if (self) {
list = [[NSMutableArray alloc] init];
}
return self;}
- (IBAction)datePickerAction:(id)sender{
[myHelloWorldViewController addDate];
//NSLog(@"Action Finished with date %@", myRename);}