Tag: 快速

尚未支持的类variables

我以分割视图控制器作为初始视图控制器开始我的项目,并从故事板自动启动它。 通常,具有此UI的应用程序具有唯一的一个以视图控制器为根的分割视图控制器,所以我在子类中创build一个静态variables ,并在初始化完成时对其进行设置。 所以我想用swift来尝试这个行为。 我在iBook上阅读了关于Type属性(带有static和class关键字)的Swift编程语言指南,并尝试了一段代码: import UIKit class SplitViewController: UISplitViewController { class func sharedInstance() -> SplitViewController { return SplitViewController.instance } class let instance: SplitViewController = nil init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) { super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil) self.initialization() } init(coder aDecoder: NSCoder!) { super.init(coder: aDecoder); self.initialization() } func initialization() { SplitViewController.instance = self; } } […]

如何获得Swift中的枚举值的名称?

如果我有一个枚举Integer原始值: enum City: Int { case Melbourne = 1, Chelyabinsk, Bursa } let city = City.Melbourne 如何将city值转换为stringMelbourne ? 这种types的名字反省在语言中可用吗? 像(这个代码不会工作): println("Your city is \(city.magicFunction)") > Your city is Melbourne

使用@testable时,'模块未被编译进行testing'

我试图使用Swift 2的新的@testable声明来暴露我的类到testing目标。 不过,我得到这个编译器错误: Intervals是包含我试图公开的类的模块。 我如何摆脱这个错误?

我如何得到一个Swift枚举的数量?

我怎样才能确定在一个Swift枚举的情况下的数量? (我想避免手动枚举所有的值 ,或使用旧的“ enum_count技巧 ”,如果可能的话)。

无法加载XCTest的底层模块

我在xcode上快速工作,默认情况下它会创build一个引用XCTest的testing文件。 当我将目标成员设置为我的主项目时,会导致此错误“无法加载XCTest的底层模块”。 如果这个目标成员资格没有设置testing运行正常,一切工作正常。 PS:我是新手,很可能是一个愚蠢的问题(请赐教)

如何在Swift中为UIImageView对象分配一个动作

我试图分配一个UIImageView的行动,当用户点击它。 我知道如何创build一个UIButton的行动,但我怎么能模仿UIButton的相同的行为,但使用UIImageView ?

我的视图控制器中的iOS 7视差效果

我正在Objective-C中为iOS 7开发一个应用程序。 我在我的应用程序中有一个屏幕,有几个button和一个漂亮的背景图片。 (这是一个简单的xib在UIImageView之上的UIButtons 。) 我在想,如果这些button具有iOS 7主屏幕的视差效果,它会很酷,所以如果你倾斜手机,你可以看到背景。 我如何在自己的应用程序中实现这种效果?

Swift设置为数组

一个NSSet可以使用set.allObjects()方法转换为Array但是新的Set (在Swift 1.2中引入)没有这样的方法。 它仍然可以通过将Swift Set转换为NSSet并使用allObjects()方法来完成,但这不是最优的。

如何使用Swift @autoclosure

我注意到在Swift中编写一个assert时,第一个值被input为 @autoclosure() -> Bool 用重载方法返回一个通用的T值,通过LogicValue protocol来testing是否存在。 但是严格地坚持这个问题。 它似乎想要一个@autoclosure返回一个Bool 。 编写一个不带参数的实际闭包,返回一个Bool不起作用,它需要我调用闭包来编译它,如下所示: assert({() -> Bool in return false}(), "No user has been set", file: __FILE__, line: __LINE__) 不过简单地通过布尔工程: assert(false, "No user has been set", file: __FILE__, line: __LINE__) 那么发生了什么? 什么是@autoclosure ? 编辑: @auto_closure被重命名为@autoclosure

Swift:声明一个空字典

我开始通过遵循苹果公司提供The Swift Programming Language上The Swift Programming Language来学习Swift。 本书说创build一个空字典应该使用[:]同时声明数组为[] : 我声明了一个空数组,如下所示: let emptyArr = [] // or String[]() 但是在声明空的字典时,我得到语法错误: let emptyDict = [:] 我如何申报空字典?