小编And*_*rej的帖子

如何以编程方式解除UIAlertController没有任何按钮?

我正在展示一个没有任何按钮的UIAlertViewController,因为它只是告知用户上传正在进行中.该应用程序应该将一些文件上传到Amazon S3(某些事情发生在并行线程上),我担心当我想解雇时,对警报视图控制器的引用会丢失.

什么可能是错的?我甚至不知道如何调试这个,因为Debug区域没有错误?

我有一个类级属性: var uploadInProgressAlert = UIAlertController()

我使用此代码显示没有按钮的警报(它工作):

self.uploadInProgressAlert = UIAlertController(title: "Uploading", message: "Please wait.", preferredStyle: .Alert)
self.presentViewController(self.uploadInProgressAlert, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)

此代码用于关闭警报(警报不会被解除): self.uploadInProgressAlert.dismissViewControllerAnimated(false, completion: nil)

在这个帖子中:iOS解雇UIAlertController以回应有人谈到"持有引用"的事件.我不知道"持有参考"是什么意思,我认为这可能是问题的根源.

编辑:我已将上述代码放在一个简单的测试应用程序中,并在那里工作.但是当一些并行线程的事情变得复杂时,我找不到解除警报的方法.

var delay4s = NSTimer()
var delay8s = NSTimer()
var alert = UIAlertController()

func showAlert() {
    if NSClassFromString("UIAlertController") != nil {
        alert = UIAlertController(title: "Uploading", message: "Please wait! \n\n", preferredStyle: UIAlertControllerStyle.Alert)
        self.presentViewController(alert, animated: true, completion: nil)
    }
}

func dismissAlert(){
    self.alert.dismissViewControllerAnimated(true, completion: nil)
}

override func viewDidLoad() {
    super.viewDidLoad() …
Run Code Online (Sandbox Code Playgroud)

cocoa-touch ios swift

33
推荐指数
4
解决办法
6万
查看次数

storyboard文件中的"customModule"参数是什么?

最近我为我的项目添加了一些目标.看着我的故事板文件的差异,我注意到了customModule="Target1Name".看起来我可以在IB中设置它,列出我的所有目标.但是这个故事板对所有目标都是通用的,所以我没有选择任何东西.

在此输入图像描述

我想了解customModule参数是什么以及为什么它似乎设置为我的Target1Name?

我查看了一些相关的帖子,但无法理解customModule的用途.

xcode interface-builder storyboard

7
推荐指数
0
解决办法
664
查看次数

弹出视图控制器使用屏幕边缘平移手势识别器不遵循拇指

一旦我添加了自定义栏导航栏按钮项,我就失去了使用默认功能返回的能力.我希望能够使用"从边缘滑动"返回.

我添加了Edge Pan Gesture Recogniser并将其连接到@IBAction,但是一旦识别出平移手势,解雇动作就会完全发生.

而不是慢慢地跟随我的拇指(如在其他应用程序中看到的),当前视图移出预定义的动画.

如何使用Edge Pan Gesture Recogniser按照我的拇指制作动画?

@IBAction func edgeSwipe(sender: AnyObject) {
    navigationController?.popViewControllerAnimated(true)
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

cocoa-touch uinavigationcontroller uigesturerecognizer swift

7
推荐指数
1
解决办法
1559
查看次数

切换错误:预期的成员名称或构造函数调用 - 出了什么问题?

我想切换我的3个案例,但我收到一个我无法解决的错误:

错误:类型名称后的预期成员名称或构造函数调用

因为我一直在使用类似的代码,所以我必须忽略一些东西.但现在我几乎有一个空项目,无法弄清楚出了什么问题?

import UIKit

class ViewController: UIViewController {

enum MyStateStatus {
    case Ready
    case Running
    case Stopped
}

@IBAction func actionPressed(sender: UIButton) {

    switch MyStateStatus {
    case MyStateStatus.Ready:
        print("I'm ready")
    default:
        print("other")
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在使用Swift,Xcode 6.3.2

更新:替换println()print()的雨燕2.2和Xcode中7的兼容性.

enums ios swift

6
推荐指数
1
解决办法
2374
查看次数

如何在Swift中获取任意数组的字节大小?

我想使用let rawDataFromArray = NSData(bytes: myArray, length: ???),但不知道如何获取我的数组的字节长度.以下是我的数组可以是什么的一些示例:

let arr1 = [1, 2, 3]
let arr2 = [1.0, 23556789000.0]
let arr3 = ["hello", "ok", ""]

func arrayLength(myArray: Array) -> Int {
    var bytes = 0
    for object in myArray {
        // not sure what to do here
    }
    return bytes
}
Run Code Online (Sandbox Code Playgroud)

我不确定是否遍历数组的每个元素(如果字符串遍历每个字符,因为表情符号可能有更多的字节代表它们)是正确的方法.

如何获取数组的字节大小?
谁能告诉我正确的方法呢?
或者也许只是在Swift中转换Array为不好的做法NSData

我还看到将Swift数组转换为NSData用于持久存储并将字节数组转换为NSData自定义数组转换为NSData,但无法弄清楚如何为这种任意数组获取字节大小.

arrays cocoa cocoa-touch ios swift

6
推荐指数
1
解决办法
2107
查看次数

无法获取未使用功能的警告

如果我的项目中有未使用的功能,我希望Xcode显示警告.我正在使用Swift.

我去了Project / Build settings,并在部分Apple LLVM 8.1 - Warnings - All Languages我设置Unused functionsYes.

在此输入图像描述

但是我没有收到项目中未使用函数的警告.

如何正确设置Xcode以显示未使用功能的警告?

xcode swift

5
推荐指数
1
解决办法
400
查看次数

[String]与[(String)]之间有什么区别?

Swift中[String]和[(String)]之间有什么区别?我让他们使用let arr1 : [String]let arr2 = [String]().

swift

3
推荐指数
2
解决办法
224
查看次数

无法在 UIView 中设置 @IBInspectable 计算属性

我正在尝试向IBInspectableUIView添加颜色,以便我可以在故事板中设置它,然后在代码中使用它。在这篇关于 UITextField 的帖子中,我已经看到我可以利用扩展和添加计算属性,但我不能让它为 UIView 工作。

身份检查员 在此处输入图片说明

我遇到了崩溃:无法在(UIView)上设置(additionalColor1)用户定义的检查属性:[setValue:forUndefinedKey:]:此类不符合键 additionalColor1 的键值编码。

知道是什么导致了崩溃以及如何修复它?

这是我的代码:

extension UIView {
    @IBInspectable var additionalColor1: UIColor? {
        return self.additionalColor1
    }
}
Run Code Online (Sandbox Code Playgroud)

作为参考,我粘贴了可用于为 UITextField 设置占位符颜色的代码(与上面的 url 相同)。这工作正常:

extension UITextField {
    @IBInspectable var placeHolderColor: UIColor? {
        get {
            return self.placeHolderColor
        }
        set {
            self.attributedPlaceholder = NSAttributedString(string: self.placeholder != nil ? self.placeholder! : "", attributes:[NSForegroundColorAttributeName: newValue!])
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

uiview swift ibinspectable

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