目标 C:通过 HttpGet 将 NSDate 发送到 ASP.NET crew 服务器

Objective C Sending an NSDate to a ASP.NET crew server via HttpGet

提问人:canderse 提问时间:6/1/2021 最后编辑:canderse 更新时间:6/2/2021 访问量:39

问:

我正在尝试将此数据从我的 iPhone 应用程序发送到我的 Web 服务器 productKey 是一个 NSString 并且 sinceDate 是 NSDate

我是否构建了这个 URL,但当我调用这个函数时它会崩溃

NSURLSessionDataTask *dataTask = [会话 dataTaskWithURL:[NSURL URLWithString:urlPath] completionHandler:^(NSData *data, NSURLResponse *response, NSError *error)

例外情况是 'NSInvalidArgumentException',原因:'-[__NSFrozenDictionaryM _fastCStringContents:]:无法识别的选择器发送到

这就是我制作 url 字符串的方式

NSString * urlPath = [NSString stringWithFormat:@"%@/%@?productKey=%ld&itemDate=%@",[ self.viewModel getUrl],@"GetProductUpdates",productKey, sinceDate ];

这是服务器功能

[HttpGet]
public JsonResult GetProductUpdates(string productKey,DateTime sinceDate)

谢谢大家

json objective-c asp.net-core

评论

0赞 El Tomato 6/1/2021
这不是我们在这里呈现代码的方式。而“我正在尝试将此数据从我的 iPhone 应用程序发送到我的 Web 服务器 productKey 是一个 NSString,而 sinceDate 是一个 NSDate”在英语中不是一个可理解的句子。
0赞 Larme 6/1/2021
你能打印吗?这真的是你想要的吗?例如,我不会这样做,我至少会使用一个.urlPathsinceDateNSDateFormatter
0赞 canderse 6/2/2021
ServerUrl/...13:38:51 +0000

答:

1赞 canderse 6/2/2021 #1

我写了这个函数来转换日期,它起作用了

+(NSString *) nsDateToJSONString:(NSDate *) date
{
    NSISO8601DateFormatter * dateformatter = [[NSISO8601DateFormatter alloc] init];
    dateformatter.formatOptions = NSISO8601DateFormatWithInternetDateTime | NSISO8601DateFormatWithFractionalSeconds;
    return [dateformatter stringFromDate:date];
}