小编Ber*_*can的帖子

在展开segue之后执行push segue

我正在使用相机应用程序,其中相机视图以模态显示.完成裁剪后.我执行一个放松的segue MainPageViewController.(请看截图)

故事板

我的展开功能MainPageViewController如下:

@IBAction func unwindToMainMenu(segue: UIStoryboardSegue) {
    self.performSegueWithIdentifier("Categories", sender: self)
}
Run Code Online (Sandbox Code Playgroud)

其中,"类别"是从推SEGUE标识符MainPageViewControllerCategoriesTableViewController.

程序进入unwindToMainMenu函数但不执行push segue.知道如何解决这个问题吗?

注意:我发现了同样的问题,但答案建议改变故事板结构.

xcode ios swift unwind-segue

34
推荐指数
4
解决办法
5601
查看次数

发送http post请求时NSURLErrorDomain Code = -1001错误

我使用以下代码将图像发布到我的服务器.

@IBAction func postButtonPressed(sender: UIButton) {
    let task = NSURLSession.sharedSession().dataTaskWithRequest(createRequest("http://xx.xx.xxx.xxx/xxxx/"), completionHandler: {
        data, response, error in
        println(NSString(data: data, encoding: NSUTF8StringEncoding))
    })
    task.resume()
}
Run Code Online (Sandbox Code Playgroud)

在哪里createRequest()创建所需的NSURLRequest对象.

当我使用模拟器时,这很好用.问题是,当我在iPhone上运行我的应用程序时,我收到以下错误.

Error Domain=NSURLErrorDomain Code=-1001 "The operation couldn’t be completed. (NSURLErrorDomain error -1001.)" UserInfo=0x155e71f0 {NSErrorFailingURLKey=http://xx.xxx.xxx.xxx/xxxx/, NSErrorFailingURLStringKey=http://54.148.156.117/query/, NSUnderlyingError=0x155674d0 "The operation couldn’t be completed. (kCFErrorDomainCFNetwork error -1001.)"}
Run Code Online (Sandbox Code Playgroud)

我了解到这个错误是超时错误.重新启动应用程序或手机没有帮助.此外,我已经尝试从Web浏览器将图像发布到我的服务器,它没有问题.

可能导致此超时错误的原因是什么?

编辑:当我监控我的网络活动时,我意识到应用程序发送10 MB数据,即使我发送的图像是0.1 MB.

ios nsurlerrordomain nsurlsession swift

11
推荐指数
1
解决办法
2万
查看次数

功能不会等到数据下载完毕

我有以下功能从服务器下载图像;

func getImageFromServerById(imageId: String) -> UIImage? {
    let url:String = "https://dummyUrl.com/\(imageId).jpg"
    var resultInNSDataformat: NSData!

    let task = NSURLSession.sharedSession().dataTaskWithURL(NSURL(string: url)!) {(data, response, error) in
        if (error == nil){
            resultInNSDataformat = data
        }
    }
    task.resume()
    return UIImage(data: resultInNSDataformat)
}
Run Code Online (Sandbox Code Playgroud)

在返回图像之前,该功能不会等待下载任务完成.因此我的应用程序总是崩溃.有关如何等待下载的任何想法?

nsurlsession swift

10
推荐指数
1
解决办法
9984
查看次数

使用故事板解开Xcode 6.1.1中的Segue

我一直在阅读在Xcode 6中使用了解开segue的问题.我正在使用Xcode 6.1.1并使用swift.

我使用导航控制器放置的"后退"按钮.因此我无法cntrl拖动到退出图标.此外,我无法从viewController图标拖动到退出图标.

这是一个错误吗?或者我错过了一些关于如何使用unwind segue的基本知识.如何从故事板中设置展开segue?

xcode ios xcode6

10
推荐指数
2
解决办法
7106
查看次数

如果我使用prepareForSegue传递数据,则无法嵌入导航控制器

我正在开发一个自定义相机应用程序,我以模态方式呈现3个viewControllers.在每个segue,我使用prepareForSegue函数传递数据.我的问题是在完成相机工作后,我需要再显示2个需要在navigationController中的viewControllers.

我已经意识到,如果我没有传递任何数据,导航控制器工作正常.但是,当我传递数据时,应用程序在运行时崩溃.这样做的正确方法是什么?

这是我对segue功能的准备;

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if segue.identifier == "camera2Crop"{
        let controller: CropViewController = segue.destinationViewController as CropViewController
        controller.photoTaken = self.photoTaken
    }
}
Run Code Online (Sandbox Code Playgroud)

在哪里photoTaken是一个UIImage对象.此外,这里是我的故事板的截图,我在其中放置了navigationController.我将prepareForSegue函数调用CustomCameraViewController为segue CropViewController.

StoryBoard截图

编辑:我已将prepareForSegue更改为以下代码;

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if segue.identifier == "camera2Crop" {
        let controller: CustomNavigationController = segue.destinationViewController as CustomNavigationController
        controller.photoTaken = self.photoTaken

    }
}
Run Code Online (Sandbox Code Playgroud)

现在应用程序没有崩溃,但我不知道如何通过导航控制器发送对象

xcode uinavigationcontroller ios uistoryboardsegue

4
推荐指数
1
解决办法
1547
查看次数

Pan Gesture Recognizer:释放平移手势后触摸崩溃的位置

我正在使用平移手势识别器,我需要检测初始触摸点才能采取行动.我使用以下代码;

@IBAction func panDetected(sender: UIPanGestureRecognizer) {
    let touchPoint = sender.locationOfTouch(0, inView: nil)
    println(touchPoint.x)
}
Run Code Online (Sandbox Code Playgroud)

这些功能在我移动手指时打印触摸点.然而,一旦我从屏幕上抬起手指,它就会崩溃.这是崩溃消息;

Terminating app due to uncaught exception 'NSRangeException', reason: '-[UIPanGestureRecognizer locationOfTouch:inView:]: index (0) beyond bounds (0).'
Run Code Online (Sandbox Code Playgroud)

我已经尝试过设置最小和最大触摸限制,正如这篇文章所暗示的那样; 在iOS中查看触摸位置时,PAN手势会崩溃

可能是什么问题?

ios uipangesturerecognizer swift

0
推荐指数
1
解决办法
1194
查看次数