Ios UILabel未从imp文件接收字符串

Ios UILabel未从imp文件接收字符串,ios,objective-c,Ios,Objective C,我有一个Objective-C类,它是UIViewController的一个子类。这不是我的主视图,但当从ViewController通过序列图像板中的segue按下按钮时,可以访问它。它们都连接到一个导航控制器,因此可以很好地切换。然而,我有一个问题。在我的“DisplayView.m”文件(第二个视图)中,我进行了一些计算,并希望设置标签的文本。我知道代码的计算部分没有任何问题,因为当我记录字符串时,结果很好。但是,标签不会更改。这是我在故事板中的DisplayView场景设置: “Dis

我有一个Objective-C类,它是UIViewController的一个子类。这不是我的主视图,但当从ViewController通过序列图像板中的segue按下按钮时,可以访问它。它们都连接到一个导航控制器,因此可以很好地切换。然而,我有一个问题。在我的“DisplayView.m”文件(第二个视图)中,我进行了一些计算,并希望设置标签的文本。我知道代码的计算部分没有任何问题,因为当我记录字符串时,结果很好。但是,标签不会更改。这是我在故事板中的DisplayView场景设置:

  • “DisplayView”集合的自定义类
  • 链接到IBOutlet的标签
这是DisplayView.m的imp文件,如果有帮助的话。如果您需要任何其他详细信息,请告诉我。我尝试过的事情:

  • 创建打印文本的新方法
  • 将应该显示的输出记录到控制台(工作正常)
  • 尝试不同的标签
  • 尝试使用不带@property的标签对象
  • 正在尝试设置未格式化的字符串
这些测试都没有真正起作用,我似乎也找不到问题所在。新视图只是加载而没有标签。但是,如果我在情节提要中更改标签文本,它确实会显示出来。它只是没有显示代码中的任何值

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
#导入
@界面显示视图:UIViewController{
IBUILABEL*个月;
IBUILABEL*天;
IBUILabel*秒;
}
-(void)计算:(int)m带:(int)d和:(int)y;
@财产标签*个月;
@财产标签*天;
@属性UILabel*秒;
@结束

days是标签的出口吗?您是否记录了天数以查看它是否为零?旁注-您想要的是日期格式的月份的
MM
,而不是
LL
。@rdelmar很抱歉之前没有提到它,但“天”是标签的出口。我如何登录以查看它是否为零?还有,谢谢!只是换了。但主要问题仍然存在。有一种更好的方法可以使用
NSDateComponents
从月、日和年值创建
NSDate
。谢谢,我会查一查的。但是,我想先解决这个版本的问题。