应用程序商店拒绝我的应用程序,并且我已将日志追溯到以下代码。我无法重现这个问题,也不能从我看到的代码中找到它。但也许改进函数的编写方式会导致我错过的边缘情况?
foreach($applications as $application){
$id = $application->user_id;
echo '<div class="col-md-4" id="'.$id.'">',
'<h4 class="list-group-item-heading remove-margin">
<i class="fa fa-plus fa-fw" id="'.$id.'"> </i>
</h4>',
'</div>';
}
具体来说:
$(document).ready(function(){
$('.fa-plus').click(function(){
counter = 0;
id = $(this).closest('div').prop("id");
counter = counter+1;
$(this).css('color','green');
$('#votes-count').parent().html(counter);
alert(id);
});
});
jDateString的示例:func getNSDate(stringDate: String) -> NSDate {
self.formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
guard (self.formatter.dateFromString(stringDate) != nil) else {
return NSDate()
}
return self.formatter.dateFromString(stringDate)!
}
/*
* 2016-09-05T19:00:00+0900 -> 午後7:00
*/
func getJapaneseTime(jDateString: String?) -> String {
let jDate = getNSDate(jDateString!)
let jTimeOfDay = ["AM":"午前", "PM":"午後"]
self.formatter.dateFormat = "a"
let timeOfDay = jTimeOfDay[self.formatter.stringFromDate(jDate)]
self.formatter.dateFormat = String(format: "%@h:mm", timeOfDay!)
return self.formatter.stringFromDate(jDate)
}
我的崩溃日志说明:
self.formatter.dateFormat = String(format: "%@h:mm", timeOfDay!)
答案 0 :(得分:0)
func getJapaneseTime(jDateString: String?) -> String {
let jDate = getNSDate(jDateString!)
函数中的 jDateString
被认为是非可选的,'只使用它的cos它被强制解包,为什么它在参数中是optional
?
应该是
func getJapaneseTime(jDateString: String) -> String {
let jDate = getNSDate(jDateString)
在guard let
或if let
之外展开。
let timeOfDay = jTimeOfDay[self.formatter.stringFromDate(jDate)]
self.formatter.dateFormat = String(format: "%@h:mm", timeOfDay!)
如果if let timeOfDay =
为零,则应guard let timeOfDay =
或??
或使用timeOfDay
指定默认值。
不要在任何地方使用
!
运营商。更喜欢使用if let
,guard let
和??
来安全地展开选项。
编辑:此外,我认为上述所有代码都可以使用DateFormatter
和日期格式name.txt
来实现。