В настоящее время я пытаюсь понять, почему мои значения не передаются в xcode.Мой код выглядит правильно, но по какой-то причине он не проходит.
Вот как выглядит TheView.h
//View Header File
#import <UIKit/UIKit.h>
IB_DESIGNABLE
@interface TheView : UIView
@property NSString *dateTimeString;
@end
и TheView.m
// m file of View
#import "TheView.h"
@implementation TheView
// Display method here with dateTimeString in parems
[DrawCanvas dateText: self.dateTimeString];
@end
В моем файле контроллера .h у меня есть этот код
// Controller File
#import "TheView.h"
@interface MainViewController: UIViewController
@property (weak, nonatomic) IBOutlet TheView *rootView;
@end
MainViewController .m file
#import "MainViewController.h"
#import "TheView.h"
@interface MainViewController ()
@property (string, nonatomic) NSTimer *currentTime;
@end
@implementation MainViewController
-(void)updateTime
{
// prints date successfully
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSLocale time = [[NSLocale alloc] initWithLocaleIdentifier:@"en_GB"];
dateFormatter.locale = time;
formatString = [NSDATEFORMATTER dateFormatFromTemplate:@"EEEE, hh:mm" options:0 locale:[NSLocale currentLocale]];
[dateFormatter setDateFormat:formatString];
NSString *resultString = [dateFormatter stringFromDate:[NSDate date]];
// Current issue is that it isn't passed from here to TheView.m
[_rootView setdateTimeString:resultString];
}
Из того, что я понимаю в отладке, строка из контроллера дает нужный мне результат, но он просто не устанавливает значение.
Если это помогает, этот код называется viewWillAppear, поэтому он вызовет метод updateTime и не будет равен нулю в теории.