小编Mic*_*ael的帖子

在ViewController之外显示UIAlertController

我很难显示我的UIAlertController,因为我试图在一个不是ViewController的类中显示它.

我已经尝试过添加它了:

 var alertController = UIAlertController(title: "Title", message: "Message", preferredStyle: .Alert)

UIApplication.sharedApplication().keyWindow?.rootViewController?.presentViewController(alertController, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)

这是行不通的......我找不到任何对我有用的解决方案.

ios swift uialertcontroller

15
推荐指数
1
解决办法
7912
查看次数

swift 函数调用:self 关键字与不使用 self 关键字

我想知道类中的这两个函数调用之间是否有任何区别:

self.myFuction()
Run Code Online (Sandbox Code Playgroud)

VS

myFunction()
Run Code Online (Sandbox Code Playgroud)

它以两种方式发挥作用。有没有必要使用self关键字的情况?

function self swift

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

在Swift中初始化的位置?

关于Swift中的Initialization,我有一个非常普遍的问题.与Objective C不同,现在可以直接在我的函数之外的声明中调用init():例如

class ViewController: UIViewController {
    let myView: UIView = UIView()

    override func viewDidLoad() {
        super.viewDidLoad()

        myView.frame = getFrame()
        myView.backgroundColor = UIColor.redColor()
        self.view.addSubview(myView)

    }

    func getFrame() -> CGRect {
        return CGRectMake(0, 0, 100, 100)
    }
}
Run Code Online (Sandbox Code Playgroud)

在Objective CI中,我将在我的函数中完成初始化.

但是如果我想调用一个没有设置参数的初始化器怎么办?例如,我想用一个在func()中计算的帧初始化

class ViewController: UIViewController {

    //THIS IS NOT WOKRING
    let myView: UIView = UIView(frame: getFrame())

    override func viewDidLoad() {
        super.viewDidLoad()

        myView.backgroundColor = UIColor.redColor()
        self.view.addSubview(myView)

    }

    func getFrame() -> CGRect {
        return CGRectMake(0, 0, 100, 100)
    }
}
Run Code Online (Sandbox Code Playgroud)

我不想在代码中的两个不同位置进行初始化.初始化是否有任何一般模式?

initialization swift

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

Realm throw catch swift 2.0

有谁知道以下领域函数的try-catch的语法是?

realm.write() {
  realm.add(whatever)
}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

call可以抛出但是没有标记'try'并且没有处理错误

realm swift2

4
推荐指数
2
解决办法
3832
查看次数

致命错误:在打开可选值时意外发现nil - Standford Calculator

我正在观看ItunesU的Standford Swift讲师并且在理解方面遇到一些麻烦.

讲师在某一点上将一个字符串转换为双字符串.他做了如下:

return NSNumberFormatter().numberFromString(display.text!)!.doubleValue
Run Code Online (Sandbox Code Playgroud)

display.text是一个UILabel无论如何,当我这样做时,我的应用程序崩溃,我收到以下错误:

(display.text! as NSString).doubleValue
Run Code Online (Sandbox Code Playgroud)

当我像这样对类型字符串进行类型转换:

return NSNumberFormatter().numberFromString(display.text!)!.doubleValue
Run Code Online (Sandbox Code Playgroud)

它工作正常.

我知道在任何地方都必须有一个可选的var,但我不是那么说它在这一点上说错了.我很满意每一个提示.

optional ios swift xcode6

3
推荐指数
1
解决办法
1451
查看次数

Swift 2.2循环遍历字符串并获取char和index

我正在尝试遍历String获取字符以及它们的索引.听起来很简单..但我找不到正确的语法.

这是我在尝试的:

let str = "testString"
for (index, char) in str.characters  {
    print(index)
    print(char)
}
Run Code Online (Sandbox Code Playgroud)

要么

for (index, char) in enumerate(str.characters)  {...}
Run Code Online (Sandbox Code Playgroud)

string foreach swift swift2.2

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

添加启动屏幕图像,而不是使用iOS的LaunchScreens.storyboard

我正在以编程方式为我的iOS应用程序执行UI。剩下的唯一事情是LaunchScreen.storyboard我还没有找到使用它的方法。奇怪的是,我在互联网上找不到很多有关它的信息。

有没有办法摆脱它,而是使用AssetSet?

LaunchScreen.storyboard

那是我要摆脱的(突出显示的文件)

xcode ios swift launch-screen programmatically

-3
推荐指数
1
解决办法
4335
查看次数