我有一个Objective-C类,它是UIViewController的子类。这不是我的主要视图,但是当从ViewController通过StoryBoward中的segue按下按钮时可以访问它。它们都连接到导航控制器,因此它们可以很好地切换。但是,我有一个问题。在我的“DisplayView.m”文件(第二个视图)中,我进行了一些计算,并希望设置标签的文本。我知道代码的计算部分没有任何问题,因为当我NSLog字符串时,它很好。但是,标签不会改变。这是我在Storyboard中对DisplayView场景的设置:
如果有帮助,这是我的DisplayView.m的imp文件。如果您需要任何其他详细信息,请与我们联系。我尝试过的事情:
这些测试都没有真正起作用,我似乎无法找到问题所在。新视图只是在没有标签的情况下加载。但是,如果我在StoryBoard中更改标签文本,它会显示出来。它只是没有显示我的代码中的任何值。
DisplayView.m
#import "DisplayView.h"
@interface DisplayView ()
@end
@implementation DisplayView
@synthesize months,days,seconds;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
-(void)calc:(int)m with:(int)d andWith:(int)y {
NSString* bday = [NSString stringWithFormat:@"%i-%i-%i 00:00:00 +0000",m,d,y];
NSDateFormatter *formatter = [NSDateFormatter new];
[formatter setDateFormat:@"LL-dd-yyyy 00:00:00 +0000"];
NSDate *date1 = [formatter dateFromString:bday];
NSDate *date2 = [NSDate date];
NSTimeInterval secondsBetween = [date2 timeIntervalSinceDate:date1];
int numberOfDays = secondsBetween/86400;
[days setText:@"asdadas"];
}
@end
DisplayView.h
#import <UIKit/UIKit.h>
@interface DisplayView : UIViewController {
IBOutlet UILabel* months;
IBOutlet UILabel* days;
IBOutlet UILabel* seconds;
}
-(void)calc:(int)m with:(int)d andWith:(int)y;
@property UILabel* months;
@property UILabel* days;
@property UILabel* seconds;
@end