标签: swift2

如何在swift中声明具有不同类型的二维数组?

二维数组 - Ints

// Works!
var foo = [[Int]]() 
Run Code Online (Sandbox Code Playgroud)

二维数组 - Ints/Strings

// Neither work.  Halp!

var foo = [String][Int]() 
var foo = [String[Int]]() 
Run Code Online (Sandbox Code Playgroud)

我发现了这个问题,这让我相信这可以做到,但不建议.

swift swift2

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

如何通过创建wordlist文件的数组来确定数组中的每个元素是否包含某个字母(swift 2)

我对迅捷相对较新.我试图制作一个程序,它采用wordlist(以字符串数组的形式)并删除不包含用户选择的字母的字符串.因此,如果词汇表是["apple","banana","cherry","date","endive"],并且用户选择字母"a"(这是变量"centerletter"),"apple", "香蕉"和"日期"将被退回,因为他们包含字母a.当输入的数组(wordlist)是像["apple","banana"]这样的标准数组时,此代码有效.但是,我对此代码的实际用途是对英语中的每个单词进行排序,如我的文件"words.txt"(我的swift项目中的一个文件)中所示.

我已将words.txt中的每个单词(由/ n分隔)分配到wordlist,如下所示(这是函数):

func arrayFromContentsOfFileWithName(fileName: String) -> [String]? {

    let path = NSBundle.mainBundle().pathForResource("words", ofType: "txt")

    var fileContents: String? = nil
    do {
        fileContents = try String(contentsOfFile: path!, encoding: NSUTF8StringEncoding)
        return fileContents!.componentsSeparatedByString("\n")
    } catch _ as NSError {
        return nil
    }
}
Run Code Online (Sandbox Code Playgroud)

我将wordlist分配给arrayFromContentsOfFileWithName("words.txt")的结果,如下所示:

var wordlist = arrayFromContentsOfFileWithName("words.txt")
Run Code Online (Sandbox Code Playgroud)

然后我用这段代码捣乱wordlist(试图取出不包含用户选择的字母的单词列表中的每个单词(在我的例子中为"a").这段代码适用于像["apple","banana"这样的标准数组],但不是在使用函数arrayFromContentsOfFileWithName创建的数组上.

let centerlet:Character = Character(Array(arrayLiteral: centerletter.text!)[0])
Run Code Online (Sandbox Code Playgroud)

// centerlet是用户选择的字母.

    for var i = 0; i < wordlist?.count; i++ {
        if wordlist![i].characters.contains(centerlet) {
            print("I am leaving in \(wordlist![i]) because it contains the center …
Run Code Online (Sandbox Code Playgroud)

arrays ios swift swift2

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

无法在Singleton类中初始化CGFloat

当我在单例类中初始化CGFloat时,它显示了这个错误.为什么我不能在单例类中初始化CGFloat?

在此输入图像描述

ios swift swift2

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

在Swift中重复字符串

我的任务是创建一个函数,该函数需要一个字符串和一个int的两个参数,该函数将返回一个字符串,该字符串将字符串参数重复int的次数。这是我想出的但出现错误。顺便说一句,这是我在工作时在CodeCardio上执行的,因此我无法在Xcode中对其进行测试(我的工作很糟糕并且使用Windows)

  func repeater(aString: String, withNumber: Int) -> String {
      let repeatedString = String(count: withNumber, repeatedValue: aString)
      return repeatedString
  }
Run Code Online (Sandbox Code Playgroud)

function repeat swift swift2

0
推荐指数
2
解决办法
2146
查看次数

将嵌套枚举值转换为一个要作为函数参数传递的变量

我不确定这是否可行,但我想知道是否可以将嵌套的枚举值转换为单个变量,以便将它们传递给函数参数.例:

enum Food {
  enum Vegetables: String {
    case Spinach    = "Spinach"
    case GreenBeans = "Green Beans"
  }
  enum Fruit: String {
    case Apples    = "Apples"
    case Grapes   = "Grapes"
  }
}

func eat(meal:Food.Vegetables) {
  print("I just ate some \(meal.rawValue)")
}

func eat(meal:Food.Fruit) {
  print("I just ate some \(meal.rawValue)")
}

eat(Food.Fruit.Apples)         //"I just ate some Spinach\n"
eat(Food.Vegetables.Spinach)   //"I just ate some Apples\n"
Run Code Online (Sandbox Code Playgroud)

这里的所有东西都应该可行,但我正在尝试将我的两个吃功能合并为1.有没有办法做到这一点?我想它会涉及一个变量,它代表我可以传递给一个eat函数的所有嵌套变量类型.就像是:

func eat(fruitOrVegetable: Food.allNestedEnumeratorTypes) {
  print("I just ate some \(fruitOrVegetable.rawValue)")
}

eat(Food.Vegetables.GreenBeans)   //"I just ate some Green Beans\n" …
Run Code Online (Sandbox Code Playgroud)

enums enumeration ios swift swift2

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

二进制运算符'=='不能应用于两个`CGAffineTransform`操作数

我试图像这样比较变换值,但有一个编译器错误

二元运算符'=='不能应用于两个CGAffineTransform 操作数

if view.transform == CGAffineTransformMakeScale(1, 1) {
    //DO SOMETHING
}
Run Code Online (Sandbox Code Playgroud)

我们如何比较规模?

谢谢

objective-c ios swift swift2

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

在Swift中将变量声明为Integer

所以我想学习swift和on按钮动作,我想将一个变量声明为一个整数,它从文本字段中收集值,计算它是否为nil并打印该值.为什么要求我使变量保持不变?

这就是我尝试过的

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var enterAge: UITextField!
    @IBOutlet weak var catAge: UILabel!

    @IBAction func findAge(sender: AnyObject) {

        var newage = Int(enterAge.text!)

        if newage! == 0
        {

       var catyears = newage! * 7
        catAge.text = "Your cat is \(catyears) in age"
        }

        else
        {

            catAge.text = "Please enter a whole number"
        }

    }
        override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() …
Run Code Online (Sandbox Code Playgroud)

swift swift2

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

检查互联网连接 - iOS逻辑

我是iOS编程的新手,没有面向对象的编程背景.

我有一个应用程序,它本质上是几个Web API的用户界面.

我有一个Reachability类,可以让我检查是否有有效的互联网连接.当用户在登录页面上并且没有其他操作时,这很有效.

但是,假设我有一个带有5个按钮的视图,所有这些都需要互联网连接才能工作.在实际进行API调用之前,我是否只需要每个按钮调用此Reachability.isConnected() - > Bool方法?

我担心这不是正确的逻辑.我是否应该有后台程序来定期检查连接?

由于缺乏OOP经验,我将这个功能分解为离散类,因此我遇到了问题.

有关处理此连接检查的最佳方法的任何建议都会很棒.

ios swift swift2

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

我可以创建一个从Array子类化的类吗?

我正在摆弄制作一个cocoapod,我正在努力创建一个类来自类的子类Array.

我之所以将其归为子类Array,是因为Array并且NSArray在Swift中被区别对待.

我可以创建一个这样的类:

class Test : NSArray {}
Run Code Online (Sandbox Code Playgroud)

但如果我试试这个:

class Test : Array {}
Run Code Online (Sandbox Code Playgroud)

或这个:

class Test : [AnyObject] {}
Run Code Online (Sandbox Code Playgroud)

我收到一个错误.

我想要这个的原因主要是因为我可以使用这样的函数:

let i = myArray.randomObject()
Run Code Online (Sandbox Code Playgroud)

对此:

let i = Test.randomObject(myArray)
Run Code Online (Sandbox Code Playgroud)

我能做什么的想法(相反可能)?

arrays inheritance class swift swift2

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

领域数据库Swift 3.1 - Singleton的设计模式

我正在研究RealmSwift,它是Swift中CoreData/SQLite的现代数据库替代品.

我想知道如何实现一个Class可以管理/处理RealmSwift框架的所有查询的设计

这个问题有点类似于实现SQLite Model Manager,但对于RealmSwift.

具体来说,我不需要上面提到的单例对象/实例.

realm ios swift swift2 swift3

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

标签 统计

swift ×10

swift2 ×10

ios ×6

arrays ×2

class ×1

enumeration ×1

enums ×1

function ×1

inheritance ×1

objective-c ×1

realm ×1

repeat ×1

swift3 ×1