我从sql查询得到以下结果:
{"Coords":[
{"Accuracy":"65","Latitude":"53.277720488429026","Longitude":"-9.012038778269686","Timestamp":"Fri Jul 05 2013 11:59:34 GMT+0100 (IST)"},
{"Accuracy":"65","Latitude":"53.277720488429026","Longitude":"-9.012038778269686","Timestamp":"Fri Jul 05 2013 11:59:34 GMT+0100 (IST)"},
{"Accuracy":"65","Latitude":"53.27770755361785","Longitude":"-9.011979642121824","Timestamp":"Fri Jul 05 2013 12:02:09 GMT+0100 (IST)"},
{"Accuracy":"65","Latitude":"53.27769091555766","Longitude":"-9.012051410095722","Timestamp":"Fri Jul 05 2013 12:02:17 GMT+0100 (IST)"},
{"Accuracy":"65","Latitude":"53.27769091555766","Longitude":"-9.012051410095722","Timestamp":"Fri Jul 05 2013 12:02:17 GMT+0100 (IST)"}
]
}
Run Code Online (Sandbox Code Playgroud)
它目前是php中的一个字符串,有一种简单的方法将其转换为JSON对象(我知道它已经是JSON形式).
我需要它作为一个对象,所以我可以添加额外的项目/元素/对象,就像coords已经是
编辑:抱歉的家伙,我给一个老/错的字符串!
我试图迅速获得本月的第一天和最后一天.
到目前为止,我有以下内容:
let dateFormatter = NSDateFormatter()
let date = NSDate()
dateFormatter.dateFormat = "yyyy-MM-dd"
let calendar = NSCalendar.currentCalendar()
let components = calendar.components([.Year, .Month, .Day, .Hour, .Minute, .Second], fromDate: date)
let month = components.month
let year = components.year
let startOfMonth = ("\(year)-\(month)-01")
Run Code Online (Sandbox Code Playgroud)
但我不知道如何获得最后的约会.有缺点的内置方法吗?显然它必须考虑到闰年等.
我有一个应用程序,它是一个单一的视图应用程序 我有一个导航控制器链接到根视图控制器中的所有子控制器.
在每个子控制器中,我都有一个注销按钮.我想知道我是否可以使用一个可以调用的功能,这将解除所有已经打开的控制器,无论当用户按下注销时哪个控制器当前打开?
我的基本开始:
func tryLogout(){
self.dismissViewControllerAnimated(true, completion: nil)
let navigationController = UINavigationController(rootViewController: UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("LoginViewController") )
self.presentViewController(navigationController, animated: true, completion: nil)
}
Run Code Online (Sandbox Code Playgroud)
我正在寻找执行此任务的最有效的内存方式.我将我的注销函数放在一个单独的utils文件中,但是我不能使用self.而且我仍然知道要动态解除哪些控制器的问题.
已建议更新 Pop到根视图控制器.所以我的尝试是这样的:
func tryLogout(ViewController : UIViewController){
print("do something")
dispatch_async(dispatch_get_main_queue(), {
ViewController.navigationController?.popToRootViewControllerAnimated(true)
return
})
}
Run Code Online (Sandbox Code Playgroud)
这是实现我追求目标的最佳途径吗?
我在注册屏幕上有4个文本字段,我已将其设置为当用户在每个文本字段上按下一个时,下一个文本字段将被聚焦.代码如下:
func textFieldShouldReturn(textField: UITextField) -> Bool {
if (textField == self.fNameField) {
textField.resignFirstResponder()
self.sNameField.becomeFirstResponder()
}
else if (textField == self.sNameField) {
self.emailField.becomeFirstResponder()
} else if (textField == self.emailField) {
self.passwordField.becomeFirstResponder()
}
else{
var thereWereErrors = checkForErrors()
if !thereWereErrors
{
//conditionally segue to next screen
}
}
return true
}
Run Code Online (Sandbox Code Playgroud)
在返回最终文本字段时,我正在调用错误检查功能(如下).在此范围内如果任何字段存在问题,我想要关注该文本字段,以便用户可以轻松地纠正它.发生的事情是带有错误的文本字段聚焦(按checkForErrors函数的指示)一秒钟,然后焦点切换回密码文本字段.我也试过加入self.passwordField.resignFirstResponder()上面的函数的最后一个,这使得密码字段失去焦点但是遇到问题的文本字段根本没有得到关注(甚至不像以前一样)我如何解决这个问题?
func checkForErrors() -> Bool
{
var errors = false
let title = "Error"
var message = ""
if fNameField.text.isEmpty {
errors = true
message += "First name empty" …Run Code Online (Sandbox Code Playgroud) 我想在swift的左侧显示一个图像.
我尝试添加导航栏按钮项并在那里设置图像.
问题是我必须使用一个非常小的图像才能很好地适应导航栏.但制作如此小的图像会导致像素化,特别是在较大的手机iPhone 6和6 Plus上.
有没有办法使用高质量的图像然后设置框架以适应导航栏的范围?
我的尝试:
var image = UIImage(named: "Harp.png")
image = image?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
self.navigationItem.leftBarButtonItem = UIBarButtonItem(image: image, style: UIBarButtonItemStyle.Plain, target: nil, action: nil)
self.navigationItem.leftBarButtonItem.frame = CGRectMake(0, 0, 53, 31)
//image.frame = CGRectMake(0, 0, 53, 31)
Run Code Online (Sandbox Code Playgroud)
我尝试先将帧放在图像上,然后放在条形按钮项上.但这是一个错误:
如果没有更多的上下文,表达的类型是不明确的.
我的swift项目中有一个滑块和标签.在故事板上,我控制将我的滑块拖动到该页面的控制器类上,并创建了一个插座和一个动作.我控制拖动另一个标签作为插座.我试图根据滑块的值更新标签.我不知道我哪里错了.
码:
@IBOutlet weak var slider: UISlider!
@IBOutlet weak var sliderVal: UILabel!
@IBAction func sliderValueChanged(sender: UISlider) {
var currentValue = Int(sender.value)
println("Slider changing to \(currentValue) ?")
sliderVal.text = "\(currentValue) Km"
}
Run Code Online (Sandbox Code Playgroud)
我可以在日志中看到正在调用sliderValueChanged函数并且日志正在打印该值但标签的文本未更新.我究竟做错了什么?
更新:
我只是在我的登录屏幕上放了一个滑块对象和标签,并使用相同的方法和代码来更改标签文本并且它工作但它在我的标签栏控制器中不起作用.这是否可以解决问题所在?
我想要获得周一的本周日期.这在我的表格视图中被视为一周的第一天.我还需要获得本周的周日.在我的表视图中,这被视为一周的最后一天.
目前的尝试:
let date = NSDate()
let calendar = NSCalendar.currentCalendar()
calendar.firstWeekday = 1
//attempt to changefirstday
let dateFormatter = NSDateFormatter()
let theDateFormat = NSDateFormatterStyle.ShortStyle
let theTimeFormat = NSDateFormatterStyle.ShortStyle
dateFormatter.dateStyle = theDateFormat
dateFormatter.timeStyle = theTimeFormat
let currentDateComponents = calendar.components([.YearForWeekOfYear, .WeekOfYear ], fromDate: date)
let startOfWeek = calendar.dateFromComponents(currentDateComponents)
print("startOfWeek is \(startOfWeek)")
let stringDate = dateFormatter.stringFromDate(startOfWeek!)
print("string date is \(stringDate)") //This is returning Sunday's date
Run Code Online (Sandbox Code Playgroud) 我正在尝试实现基本地图视图,并将用户的当前位置作为注释添加到地图中.我已将requestwheninuse密钥添加到我的info.plist并导入了coreLocation.
在我的视图中控制器的加载方法,我有以下内容:
locManager.requestWhenInUseAuthorization()
var currentLocation : CLLocation
if(CLLocationManager.authorizationStatus() == CLAuthorizationStatus.AuthorizedWhenInUse){
currentLocation = locManager.location
println("currentLocation is \(currentLocation)")
}
else{
println("not getting location")
// a default pin
}
Run Code Online (Sandbox Code Playgroud)
我得到了提示.检索位置的权限.当这种情况发生时,我得到的是我的打印说没有获得位置,显然是因为这在用户有机会点击OK之前运行.如果我完成应用程序并返回,我可以检索位置并将其添加到地图中.但是,我希望当用户第一次点击OK然后能够获取当前位置并将其添加到地图然后.我怎样才能做到这一点?我有以下添加引脚的方法:
func addPin(location2D: CLLocationCoordinate2D){
self.mapView.delegate = self
var newPoint = MKPointAnnotation()
newPoint.coordinate = location2D
self.mapView.addAnnotation(newPoint)
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试为facebook sdk登录按钮添加约束.
我在滚动视图中有按钮,我正在尝试将顶部约束添加到也在滚动视图中的标签.我能够成功添加高度约束,没有运行时错误,但实际约束似乎没有应用于按钮.
@IBOutlet weak var orLbl: UILabel!
@IBOutlet weak var scrollView: UIScrollView!
override func viewDidLoad() {
super.viewDidLoad()
var loginFBButton = FBSDKLoginButton()
loginFBButton.readPermissions = ["public_profile", "email"]
let heightConstraint = NSLayoutConstraint(
item: loginFBButton,
attribute: NSLayoutAttribute.Height,
relatedBy: NSLayoutRelation.Equal,
toItem: nil,
attribute: NSLayoutAttribute.NotAnAttribute,
multiplier: 1,
constant: 41)
let topConstraint = NSLayoutConstraint(
item: loginFBButton,
attribute: NSLayoutAttribute.TopMargin,
relatedBy: NSLayoutRelation.Equal,
toItem: self.orLbl,
attribute: NSLayoutAttribute.BottomMargin,
multiplier: 1,
constant: 31)
let leadingConstraint = NSLayoutConstraint(
item: loginFBButton,
attribute: NSLayoutAttribute.Leading,
relatedBy: NSLayoutRelation.Equal,
toItem: self.registerButton,
attribute: NSLayoutAttribute.Left,
multiplier: 1,
constant: 0) …Run Code Online (Sandbox Code Playgroud) 我无法理解我收到的UIKit崩溃报告:
有没有办法找出导致这个问题的代码行:
Crashed: com.apple.main-thread
0 UIKit 0x195694264 __56-[UIPresentationController runTransitionForCurrentState]_block_invoke + 444
1 UIKit 0x1955d0950 _runAfterCACommitDeferredBlocks + 292
2 UIKit 0x1955c29ec _cleanUpAfterCAFlushAndRunDeferredBlocks + 528
3 UIKit 0x195336648 _afterCACommitHandler + 132
4 CoreFoundation 0x18f1c09a8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32
5 CoreFoundation 0x18f1be630 __CFRunLoopDoObservers + 372
6 CoreFoundation 0x18f1bea7c __CFRunLoopRun + 956
7 CoreFoundation 0x18f0eeda4 CFRunLoopRunSpecific + 424
8 GraphicsServices 0x190b58074 GSEventRunModal + 100
9 UIKit 0x1953a9058 UIApplicationMain + 208
10 FlexConnect 0x1001b48c8 main (AppDelegate.swift:20)
11 libdyld.dylib 0x18e0fd59c start + 4
Run Code Online (Sandbox Code Playgroud)
错误本身是:
崩溃:com.apple.main-thread
EXC_BAD_ACCESS KERN_INVALID_ADDRESS …Run Code Online (Sandbox Code Playgroud)