我遇到了问题.我得到了12小时格式的传入时间字符串,我将它们转换为NSDate对象.当iPhone处于12小时格式时,没问题.但是当它采用24小时格式时,事情就出错了.以下是一些示例代码:
NSString *theTime = @"3:19 PM";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"h:mm a"]; // "3:19 PM"
NSDate *date = [formatter dateFromString:theTime];
NSString *theString = [formatter stringFromDate:date];
Run Code Online (Sandbox Code Playgroud)
24小时模式,日期是1970-01-01三点19分00秒,而theString是"3:19" -错误
在12小时模式中,日期是1970-01-01 15:19:00,而弦是"下午3:19" - 右
所以...问题1:为什么设备的24小时设置会覆盖我的日期格式化程序设置?
更重要的是,问题2:如何从12小时到24小时进行正确的转换?
我已经有代码来检测手机是否处于24小时模式,但除了在字符串中挖掘并用15交换3之外,似乎没有干净的方法来执行此操作.
我有一个针对我的iOS应用程序的自定义URL方案,我希望能够通过电子邮件发送给某人的链接,如果它在设备上,则启动应用程序,或者如果他们没有,则将其带到应用程序商店.
我希望能够发送myapp:// someurl并在appstore上启动或转到myapp,但我认为这不会开箱即用.
相反,我正在考虑创建一个链接,加载一些javascript,它将尝试myapp:// someurl,如果失败将改为加载应用商店链接.
我的javascript知识很糟糕.我可以设置window.location来执行重定向,但似乎没有办法从中捕获错误,以便在失败时执行另一个操作.
有人知道怎么做吗?
我正在编写一个应用程序,将svg块放在一起,并将它们作为混合了css和javascript的页面的一部分.我正在使用Python和Google App Engine.我正在做的工作在我的本地开发服务器上工作正常,但一旦部署就无法渲染.
所以这里有一些测试python来构建响应:
Run Code Online (Sandbox Code Playgroud)self.response.headers.add_header('Content-Type','application/xhtml+xml') self.response.out.write("<html xmlns='http://www.w3.org/1999/xhtml'>") self.response.out.write("<body>") self.response.out.write("<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'>") self.response.out.write("<rect x='10' y='10' height='100' width='100' />") self.response.out.write("</svg>") self.response.out.write("</body></html>")
现在,如果我在本地开发服务器上请求这个(我使用的是Safari,但Firefox也可以),它可以工作,我看到一个黑色正方形.如果我使用此标记创建一个xhtml文档,并将该页面上传到服务器,我将看到该正方形,但是当我在服务器上部署此应用程序并运行它时,我看不到该正方形.当我查看View Source时,所有标记都在那里,但它不会渲染.
我尝试过使用不同的mime类型.我试过添加:<!DOCTYPE html>或者添加< ?xml version=1.0"?>并且没有一个有所作为.
有任何想法吗?
我正在使用NSXMLParser解析一些HTML,并且只要遇到&符号就会遇到解析器错误.在解析它之前我可以过滤出&符号,但我宁愿解析那里的所有内容.
它给了我错误68,NSXMLParserNAMERequiredError:名称是必需的.
我最好的猜测是它是一个字符集问题.我对字符集的世界有点模糊,所以我认为我的无知正在咬我的屁股.源HTML使用charset iso-8859-1,所以我使用此代码初始化Parser:
NSString *dataString = [[[NSString alloc] initWithData:data encoding:NSISOLatin1StringEncoding] autorelease];
NSData *dataEncoded = [[dataString dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES] autorelease];
NSXMLParser *theParser = [[NSXMLParser alloc] initWithData:dataEncoded];
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
iphone ×2
cocoa ×1
cocoa-touch ×1
ios ×1
javascript ×1
nsxmlparser ×1
objective-c ×1
python ×1
redirect ×1
svg ×1
time ×1
url-scheme ×1
xhtml ×1