我把这一天的名字命名为
func loadDayName(forDate date: NSDate) -> String{
let myComponents = calendar.components(.Weekday, fromDate: date)
let weekDay = myComponents.weekday
switch weekDay {
case 1:
return "Sunday"
case 2:
return "Monday"
case 3:
return "Tuesday"
case 4:
return "Wednesday"
case 5:
return "Thursday"
case 6:
return "Friday"
case 7:
return "Saturday"
default:
return "Nada"
}
}
Run Code Online (Sandbox Code Playgroud)
它是工作查找,但我想知道swift是否自带一些库自动比我在手动代码中做得更好
我正在尝试更改标签栏项目的徽章但没有成功.我明白标签栏控制器负责控制器的标签栏.
但是,标签栏本身中的某些内容可以由视图控制器(例如徽章)管理
在我的代码中我尝试了这个在视图中加载
self.tabBarItem.badgeValue = "3"
Run Code Online (Sandbox Code Playgroud)
但徽章中没有任何内容
然后我试了一下:
self.tabBarController?.tabBarItem.badgeValue = "3"
Run Code Online (Sandbox Code Playgroud)
哪个不起作用,好吧,我知道为什么第二个代码不起作用,它与使用导航控制器而不是导航项更改导航控件的标题相同.但我不知道为什么第一个代码不起作用
这是我的应用程序的hiechy,我在TeamsTableViewController中这样做,这是团队选项卡中的第一个视图控制器
我有一个http请求,如果我正确收到响应,那么我想启动一个每秒触发一个函数的计时器.该函数也是一个http请求.
这是我启动计时器的代码
if let data = data {
do{
let resultJSON = try NSJSONSerialization.JSONObjectWithData(data, options: [])
requestClient.id = resultJSON["id"] as! Double
self.timerResponse = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: "checkIfThereAreResponeses", userInfo: nil, repeats: true)
self.timerResponse!.fire()
}catch{
}
}
Run Code Online (Sandbox Code Playgroud)
如你所见,我正在调用一个名为的函数 checkIfThereAreResponses
在该函数中,我有一个print语句,并且该print语句只打印一次,尽管我的计时器应该每1秒工作一次
我有什么遗失?
这就是功能
func checkIfThereAreResponeses(){
if (requestClient!.id != nil) {
let url = NSURL(string: "http://localhost:blablabla")
let request = NSMutableURLRequest(URL: url)
request.HTTPMethod = "POST"
let session = NSURLSession.sharedSession()
task = session.dataTaskWithRequest(request, completionHandler: {(data, response, error) in
if let error = error { …Run Code Online (Sandbox Code Playgroud) 我收到一个JSON,我想解析它以获得一个值.我这样做
let ddd = oneJson["restaurantId"] as! Int
print("ddd = \(ddd)")
let restaurantId = oneJson["restaurantId"] as! Int64
Run Code Online (Sandbox Code Playgroud)
如你所见,我正在解析相同的字段.这是我的JSON
"location":"location here location","restaurantId":0
Run Code Online (Sandbox Code Playgroud)
print语句工作正常,但我得到了一个例外 oneJson["restaurantId"] as! Int64
我有一个嵌入导航控制器的视图控制器,其中有一个按钮显示另一个视图控制器,如下所示:
在第二个视图控制器中, 的值为self.navigationItem.backBarButtonItemnil,为什么?
虽然我在运行应用程序时可以看到后退按钮,如下所示:
我读到视图控制器中的后退按钮是前一个视图控制器的导航项的责任,更准确地说,它是前一个视图控制器中的导航项的责任。
所以我尝试在第一个视图控制器中执行此操作:
self.navigationItem.backBarButtonItem!.title = "Wdd"
Run Code Online (Sandbox Code Playgroud)
但我得到了异常,因为 backBarButtonItem 在第一个视图控制器中也为零。
小伙伴们请看这里
有这句话
与当前视图控制器关联的导航项提供导航栏中心和右侧位置的内容。前一个视图控制器的导航项提供左侧位置的内容
uinavigationbar uinavigationcontroller uinavigationitem ios swift
这是我的代码
let dateValue = formatterDate.dateFromString(request.date)
print("da = \(request.date)")
let dayValue = NSDate()
let compnentsDate = myCalendar.components(.Year, fromDate: dateValue!)
let componentsDay = myCalendar.components(.Year, fromDate: dayValue)
if compnentsDate.year == componentsDay.year && compnentsDate.month == componentsDay.month && compnentsDate.day == componentsDay.day {
cell.dateLabel.text = "today"
}else {
if compnentsDate.year == componentsDay.year && compnentsDate.month == componentsDay.month && compnentsDate.day == (componentsDay.day + 1 ){
cell.dateLabel.text = "tomorrow"
}else {
cell.dateLabel.text = request.date
}
}
Run Code Online (Sandbox Code Playgroud)
如你所见,我正在制作印刷品,印刷品的价值是:
da = Jan, 25, 2016
Run Code Online (Sandbox Code Playgroud)
但是,代码总是转到第一个if语句,告诉我"今天"
告诉我为什么?
我的代码有什么问题?