Tag: swift

如何在Swift语言中获得一些Integer的权力?

我最近很快学习,但我有一个基本的问题,无法find答案 我想得到类似的东西 var a:Int = 3 var b:Int = 3 println( pow(a,b) ) // 27 但pow函数只能使用double数字,它不能和integer一起工作,我甚至不能使用double(a)或a.double()等方法来将int转换为double。 为什么它不提供整数的力量? 它肯定会返回一个整数没有歧义! 为什么我不能将一个整数转换为双精度? 它只是改变3到3.0(或者30000 …不pipe) 如果我有两个整数,我想做功率操作,我该怎么做顺利? 谢谢!

我如何在Swift中声明typedef

如果我需要Swift中的自定义types,那么我可以inputtypedef ,我该怎么做呢? (类似于一个闭包语法typedef)

在Swift中使用NSMutableAttributedString更改特定的文本颜色

我遇到的问题是,我希望能够更改TextView中某些文本的textColor。 我正在使用连接的string,只是想要将string附加到TextView的文本中。 看来,我想使用的是NSMutableAttributedString ,但我没有find任何资源如何在Swift中使用它。 我到目前为止是这样的: let string = "A \(stringOne) with \(stringTwo)" var attributedString = NSMutableAttributedString(string: string) textView.attributedText = attributedString 从这里我知道我需要find需要更改textColor的单词范围,然后将它们添加到属性string中。 我需要知道的是如何从其中find正确的string,然后更改textColor。 由于我的评分太低,我不能回答我自己的问题,但这是我find的答案 我通过翻译一些代码翻译来find自己的答案 更改NSAttributedString中子string的属性 这里是Swift实现的例子: let string = "A \(stringOne) and \(stringTwo)" var attributedString = NSMutableAttributedString(string:string) let stringOneRegex = NSRegularExpression(pattern: nameString, options: nil, error: nil) let stringOneMatches = stringOneRegex.matchesInString(longString, options: nil, range: NSMakeRange(0, attributedString.length)) […]

删除版本iOS Swift的println()

我想全局忽略所有println()调用在我的Swift代码,如果我不在一个debugging版本。 我找不到任何有力的一步一步的指示,并会赞赏指导。 有没有办法做到这一点在全球范围内,或者我需要用#IF DEBUG/#ENDIF语句包围每个println() ?

未捕获的exception:这个类不是关键值编码兼容的

我正在学习一个名为“Swift教程iOS版:NSFileManager持久化数据”的教程 ,而且我在29分钟左右或之后遇到了一个错误。 当我尝试在iOS模拟器上运行它时,我收到错误: 终止应用程序由于未捕获的exception“NSUnknownKeyException”,原因:'[setValue:forUndefinedKey:]:这个类不是密钥值编码兼容的关键theLoadMethod。 显然根据错误,我认为这个问题是我的theLoadMethod 。 以下是我在ViewController中编写的所有代码: let theDocumentsFolder = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as String let theFileName = "/theUserFile.txt" let thePath = theDocumentsFolder.stringByAppendingString(theFileName) class ViewController: UIViewController { @IBOutlet weak var nameTextField: UITextField! @IBOutlet weak var lastNameTextField: UITextField! @IBOutlet weak var ageTextField: UITextField! @IBOutlet weak var theLabel: UILabel! // The save method @IBAction func theSaveMethod(sender: AnyObject) […]

当UISearchController处于活动状态时,iOS 9 searchBar从表头视图中消失

结构: View1(点击一个button) – >现在模态(MyModalView:UITableViewController) MyModalViewembedded了UISearchController。 UISearchController的searchBar放置在MyModalView.tableView.tableHeaderView中。 从iOS 8.0开始,它一直在正常工作。 但是,在iOS 9上,当UISearchController处于活动状态时,searchBar会消失。 请看下面的这些照片 模态观点: UISearchController在iOS 8上处于活动状态: UISearchController在iOS 9上处于活动状态: 非常标准的代码: override func viewDidLoad() { super.viewDidLoad() // Dynamically create a search controller using anonymous function self.resultSearchController = ({ let controller = UISearchController(searchResultsController: nil) controller.searchResultsUpdater = self controller.dimsBackgroundDuringPresentation = false controller.searchBar.sizeToFit() controller.searchBar.delegate = self self.tableView.tableHeaderView = controller.searchBar return controller })() […]

如何获得当前的语言代码与斯威夫特?

我想在我的应用程序中使用Swift编写设备的语言代码(en,es …)。 怎么能得到这个? 我正在尝试这个: var preferredLanguages : NSLocale! let pre = preferredLanguages.displayNameForKey(NSLocaleIdentifier, value: preferredLanguages) 但是这返回零。 谢谢!

在iOS 8共享扩展和主应用之间共享数据

最近,我一直在做一个简单的iOS 8共享扩展,以了解系统如何工作。 正如苹果在其应用程序扩展程序指南中所述 : 默认情况下,您的包含应用及其扩展程序无法直接访问彼此的容器。 这意味着扩展和包含应用程序不共享数据。 但苹果在同一页面带来了一个解决scheme: 如果您希望包含应用程序及其扩展程序能够共享数据,请使用Xcode或开发者平台为应用程序及其扩展程序启用应用程序组。 接下来,在门户中注册应用程序组,并指定要在包含应用程序中使用的应用程序组。 然后就可以使用NSUserDefaults来共享包含的应用程序和扩展之间的数据。 这正是我想要做的。 但由于某种原因,这是行不通的。 在同一页面,苹果build议标准的默认值: var defaults = NSUserDefaults.standardUserDefaults() 在WWDC的演讲中(217),他们提出了一个共同的scheme: var defaults = NSUserDefaults(suiteName: kDefaultsPackage) 另外,我为包含应用程序目标和扩展目标的应用程序组启用了相同的应用程序组名称: 但是这一切都是没有用的。 我无法从扩展程序中检索存储在包含应用程序中的数据。 这就像两个目标正在使用完全不同的NSUserDefaults存储。 所以, 有没有这种方法的解决scheme? 如何在包含应用程序和共享扩展之间共享简单数据? 数据只是API的用户凭据。

与Alamofire的NSURLSession并发请求

我正在使用我的testing应用程序遇到一些奇怪的行为。 我有大约50个同时发送到同一个服务器的GET请求。 服务器是一个embedded式服务器上的一小部分硬件资源非常有限。 为了优化每个请求的性能,我configuration一个Alamofire.Manager实例如下: let configuration = NSURLSessionConfiguration.defaultSessionConfiguration() configuration.HTTPMaximumConnectionsPerHost = 2 configuration.timeoutIntervalForRequest = 30 let manager = Alamofire.Manager(configuration: configuration) 当我通过manager.request(…)发送请求时,它们会以2对的forms发送(如预期的那样,使用Charles HTTP Proxy进行检查)。 奇怪的是,所有在第一个请求30秒内没有完成的请求,由于同时超时而被取消(即使它们还没有被发送)。 下面是一个展示行为的例子: 这是一个预期的行为,我怎样才能确保请求不会得到超时之前,他们甚至被发送? 非常感谢!

Swift:如何使UILabel可点击?

我想做一个UILabel点击。 我试过这个,但是不起作用: class DetailViewController: UIViewController { @IBOutlet weak var tripDetails: UILabel! override func viewDidLoad() { super.viewDidLoad() … let tap = UITapGestureRecognizer(target: self, action: Selector("tapFunction:")) tripDetails.addGestureRecognizer(tap) } func tapFunction(sender:UITapGestureRecognizer) { print("tap working") } }