gpt4 book ai didi

javascript - 将 NSDate 传递给 iOS 中的本地 UIWebView - Objective C

转载 作者:可可西里 更新时间:2023-11-01 05:49:59 26 4
gpt4 key购买 nike

我有一个带有菜单的应用程序,可以加载从本地 HTML 文件加载的各种 UIWebView。 (此代码在 WebViewController 中)

//Code for the WebView
vesperswebview.scrollView.bounces = NO;
[[vesperswebview scrollView] setBounces:NO];
[(UIScrollView*)[vesperswebview.subviews objectAtIndex:0] setShowsVerticalScrollIndicator:NO];

NSString *path = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html" inDirectory:@"data/html"];
NSURL *url = [NSURL fileURLWithPath:path];
NSString *theAbsoluteURLString = [url absoluteString];
NSString *queryString = @"#?manifest=Psalmody-Morning";
NSString *absoluteURLwithQueryString = [theAbsoluteURLString stringByAppendingString:queryString];
NSURL *finalURL = [NSURL URLWithString:absoluteURLwithQueryString];

NSURLRequest *request = [NSURLRequest requestWithURL:finalURL cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:(NSTimeInterval)10.0];
[vesperswebview loadRequest:request];

我还有一个名为 FlatDate Picker 的自定义日期选择器:(此代码在我的主 ViewController 中),它链接到我从 GitHub 获得的导入的 FlatDatePicker 开源项目。

- (void)flatDatePicker:(FlatDatePicker*)datePicker dateDidChange:(NSDate*)date {
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSCalendar *coptic = [[NSCalendar alloc] initWithCalendarIdentifier:@"coptic"];
[dateFormatter setCalendar:coptic];
[dateFormatter setDateStyle:NSDateFormatterLongStyle];

if (datePicker.datePickerMode == FlatDatePickerModeDate) {
[dateFormatter setDateFormat:@"EEEE, MMMM, dd, yyyy"];
} else if (datePicker.datePickerMode == FlatDatePickerModeDate) {
[dateFormatter setDateFormat:@"HH:mm:ss"];
} else {
[dateFormatter setDateFormat:@"EEEE, MMMM, dd, yyyy HH:mm:ss"];
}
NSString *value = [dateFormatter stringFromDate:date];
self.labelDateSelected.text = value;
}

我的问题是,当我在主视图 Controller 中选择日期时,如何保存该日期并将其传递到下一个 View 以在我的数据库中加载适当的 日期敏感 Javascript ?

最佳答案

鉴于 FlatDatePicker 的外观,从中获取的日期可以转换为以下 JavaScript DateFormats

ISO Date "2015-03-25" (The International Standard)

Short Date "03/25/2015" or "2015/03/25"

Long Date "Mar 25 2015" or "25 Mar 2015"

NSDate 转换成这些格式。可以做到以下几点

NSDateFormatter *ISODateFormatter = [[NSDateFormatter alloc] init];
[ISODateFormatter setDateFormat:@"yyyy-mm-dd"];

NSDateFormatter *ShortDateFormatter = [[NSDateFormatter alloc] init];
[ShortDateFormatter setDateFormat:@"yyyy/mm/dd"];

NSDateFormatter *LongDateFormatter = [[NSDateFormatter alloc] init];
[LongDateFormatter setDateFormat:@"dd MMM yyyy"];

NSString *ISODate = [ISODateFormatter stringFromDate:date];
NSString *ShortDate = [ShortDateFormatter stringFromDate:date];
NSString *LongDate = [LongDateFormatter stringFromDate:date];

您可以将此日期保存在 selectedDate 变量中。然后,您可以像这样在 UIViewController 中拥有一个 init 属性

@interface JSViewController ()

@property (nonatomic, strong) NSString *currentDate;

@end

-(instancetype)initWithDate:(NSString *)jsDate {
self = [super initWithNibName:NULL bundle:NULL];
if (self) {
_currentDate = jsDate;
}
return self;
}

您可以通过以下方式从另一个ViewController 初始化和启动此ViewController

JSViewController *jsVC = [[JSViewController alloc] initWithDate:ISODate];
[self presentViewController:jsVC animated:YES completion:nil];

试试这个。如果它不起作用,请随时 ping 我。随时提出修改建议以使其变得更好。

关于javascript - 将 NSDate 传递给 iOS 中的本地 UIWebView - Objective C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39863866/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com