Questions tagged «swift»

Swift是Apple Inc.针对其平台和Linux开发的一种安全,快速且具有表现力的通用编程语言。Swift是开源的。仅将标记用于有关语言功能或在Swift中需要代码的问题。将标签[ios],[ipados],[macos],[watch-os],[tvos],[cocoa-touch]和[cocoa]用于有关平台或框架的(语言不可知)问题。

8
禁用按钮
UIButton单击后,我想在iOS上禁用按钮()。我是开发iOS的新手,但是我认为等效的C代码是这样的: button.enabled = NO; 但是我不能迅速做到这一点。
97 swift  uibutton  ios8 

7
快速和变异结构
对于Swift中的值类型突变,我有些不了解。 正如iBook的“ Swift编程语言”所言: 默认情况下,不能从其实例方法中修改值类型的属性。 因此,为了使之成为可能,我们可以mutating在structs和enums中使用关键字声明方法。 对我来说还不完全清楚的事情是:您可以从结构外部更改var,但是不能从其自己的方法更改它。这对我来说似乎违反直觉,因为在面向对象的语言中,您通常尝试封装变量,以便只能从内部进行更改。对于结构,这似乎是另一回事。详细来说,这是一个代码片段: struct Point { var x = 0, y = 0 mutating func moveToX(x: Int, andY y:Int) { //Needs to be a mutating method in order to work self.x = x self.y = y } } var p = Point(x: 1, y: 2) p.x = …

4
Swift中的静态函数变量
我试图弄清楚如何声明一个静态变量,其作用域仅限于Swift中的函数。 在C中,这可能看起来像这样: int foo() { static int timesCalled = 0; ++timesCalled; return timesCalled; } 在Objective-C中,基本上是相同的: - (NSInteger)foo { static NSInteger timesCalled = 0; ++timesCalled; return timesCalled; } 但是我似乎无法在Swift中做类似的事情。我尝试通过以下方式声明变量: static var timesCalledA = 0 var static timesCalledB = 0 var timesCalledC: static Int = 0 var timesCalledD: Int static = 0 …
96 function  static  swift 


5
在Swift中,如何声明符合一个或多个协议的特定类型的变量?
在Swift中,我可以通过声明如下来显式设置变量的类型: var object: TYPE_NAME 如果我们想更进一步,并声明一个符合多种协议的变量,可以使用protocol声明式: var object: protocol<ProtocolOne,ProtocolTwo>//etc 如果我想声明一个符合一个或多个协议并且也是特定基类类型的对象,该怎么办?相当于Objective-C的样子如下: NSSomething<ABCProtocolOne,ABCProtocolTwo> * object = ...; 在Swift中,我希望它看起来像这样: var object: TYPE_NAME,ProtocolOne//etc 这使我们能够灵活处理基本类型的实现以及协议中定义的添加接口。 还有其他更明显的方式可能会让我丢失吗? 例 例如,假设我有一家UITableViewCell工厂负责返回符合协议的单元。我们可以轻松地设置一个泛型函数来返回符合协议的单元格: class CellFactory { class func createCellForItem<T: UITableViewCell where T:MyProtocol >(item: SpecialItem,tableView: UITableView) -> T { //etc } } 稍后我想在利用类型和协议的同时使这些单元出队 var cell: MyProtocol = CellFactory.createCellForItem(somethingAtIndexPath) as UITableViewCell 这会返回错误,因为表视图单元格不符合协议... 我想能够指定单元格是a …

5
切换到Xcode 7后,应用程序大小从9 MB增加到60 MB,是否可以解决?
我一直在Git历史中倒退,以查找导致文件大小变化巨大的原因,但是我能找到的唯一真正的原因是从Xcode 6切换到Xcode 7 GM。 我发现这些是在Release构建配置中.ipa通过Archive操作创建的10个最大文件大小贡献者: $ unzip -lv Roger\ Release.ipa | sort -k +3nr | head 41802768 Defl:N 16887199 60% 09-14-15 23:47 dc24cdc1 Payload/Roger.app/Frameworks/libswiftCore.dylib 41802400 Defl:N 16886076 60% 09-06-15 18:33 f939ea6a SwiftSupport/iphoneos/libswiftCore.dylib 11184032 Defl:N 5915625 47% 09-14-15 23:48 6ceac4a2 Payload/Roger.app/Roger 6399584 Defl:N 2670275 58% 09-14-15 23:47 0ac52d3f Payload/Roger.app/Frameworks/libPhoneNumber_iOS.framework/libPhoneNumber_iOS 5410384 Defl:N …
96 ios  xcode  swift 

21
将Objective-C框架导入Swift项目时,在Bridging Header中获取“找不到文件”
我有一个Swift项目,正在尝试导入基于ObjC的框架。该框架位于项目路径下的目录中,并由项目在Xcode中引用。它还被添加到项目的“构建阶段”页面的“链接二进制文件与库”中。 但是,由于某种原因,我似乎无法在Bridging-Header文件中包括该框架。我收到以下错误: BridgingHeader.h:5:9: error: 'Parse/Parse.h' file not found #import <Parse/Parse.h> ^ <unknown>:0: error: failed to import bridging header 'BridgingHeader.h' 我检查过的事情: “安装Objective-C兼容性标题”设置为“是”。 标题搜索路径包括框架的路径。 我确定我会丢失一些东西,所以如果有人有任何线索,那将是很棒的。

8
如何在Swift中发出HTTP请求+基本身份验证
我有一个具有基本身份验证的RESTFull服务,我想从iOS + swift调用它。我必须如何以及在何处为此请求提供凭据? 我的代码(对不起,我刚刚开始学习iOS / obj-c / swift): class APIProxy: NSObject { var data: NSMutableData = NSMutableData() func connectToWebApi() { var urlPath = "http://xx.xx.xx.xx/BP3_0_32/ru/hs/testservis/somemethod" NSLog("connection string \(urlPath)") var url: NSURL = NSURL(string: urlPath) var request = NSMutableURLRequest(URL: url) let username = "hs" let password = "1" let loginString = NSString(format: …
96 ios  swift 

13
如何在Swift中将TextField添加到UIAlertController
我正在尝试显示UIAlertController带有的UITextView。当我添加行时: //Add text field alertController.addTextFieldWithConfigurationHandler { (textField) -> Void in } 我收到一个Runtime错误: 致命错误:解开Optional值时意外发现nil let alertController: UIAlertController = UIAlertController(title: "Find image", message: "Search for image", preferredStyle: .Alert) //cancel button let cancelAction: UIAlertAction = UIAlertAction(title: "Cancel", style: .Cancel) { action -> Void in //cancel code } alertController.addAction(cancelAction) //Create an optional action let …

11
使用Alamofire上传带有参数的文件
我正在尝试使用上传文件Alamofire。使用File(NSUrl)时,上传工作正常,但是,我似乎无法弄清楚如何使用该NSData选项? 这是我的测试: var url:NSURL = NSURL.URLWithString("http://localhost:8080/bike.jpeg") var err: NSError? var imageData :NSData = NSData.dataWithContentsOfURL(url,options: NSDataReadingOptions.DataReadingMappedIfSafe, error: &err) Alamofire.upload(.POST, "http://localhost:8080/rest/service/upload/test.png", imageData) .progress { (bytesWritten, totalBytesWritten, totalBytesExpectedToWrite) in println(totalBytesWritten) } .responseJSON { (request, response, JSON, error) in println(request) println(response) println(JSON) } 我收到状态码415? 另外,如何发送上传中的其他参数? 谢谢 编辑 我没有设置正确的Content-Type: var manager = Manager.sharedInstance manager.session.configuration.HTTPAdditionalHeaders = …
95 ios  swift  alamofire 

22
无法在模拟器中运行应用程序:Xcode beta 6 iOS 8
我无法使用Xcode 6 beta和iPhone 5s模拟器在模拟器上启动我的应用程序。首先,我收到来自模拟器的错误消息 “无法启动iOS模拟器” 然后在Xcode向我显示以下错误之后, 无法在模拟器中运行应用程序运行 时遇到错误(域= DTiPhoneSimulatorErrorDomain,代码= 2)
95 ios  xcode  swift  ios8 

8
从字符串中剥离HTML标记
如何从字符串中删除HTML标签,以便可以输出纯文本? let str = string.stringByReplacingOccurrencesOfString("<[^>]+>", withString: "", options: .RegularExpressionSearch, range: nil) print(str)
95 html  ios  swift 

6
使用自定义初始化程序的Swift枚举会丢失rawValue初始化程序
我已尝试通过以下方法将此问题简化为最简单的形式。 建立 Xcode版本6.1.1(6A2008a) 在中定义的枚举MyEnum.swift: internal enum MyEnum: Int { case Zero = 0, One, Two } extension MyEnum { init?(string: String) { switch string.lowercaseString { case "zero": self = .Zero case "one": self = .One case "two": self = .Two default: return nil } } } 和用于初始化另一个文件中的枚举的代码MyClass.swift: internal class MyClass …
95 swift  enums 

16
如何呈现UIActionSheet iOS Swift?
如何在iOS Swift中执行UIActionSheet?这是我用于编码UIActionSheet的代码。 @IBAction func downloadSheet(sender: AnyObject) { let optionMenu = UIAlertController(title: nil, message: "Choose Option", preferredStyle: .actionSheet) let saveAction = UIAlertAction(title: "Save", style: .default, handler: { (alert: UIAlertAction!) -> Void in println("Saved") }) let deleteAction = UIAlertAction(title: "Delete", style: .default, handler: { (alert: UIAlertAction!) -> Void in println("Deleted") }) let …

6
Swift子类UIView
我想子类化UIView并显示类似视图的登录名。我已经在Objective-C中创建了它,但是现在我想将其移植到Swift。我不使用情节提要,所以我用代码创建了所有UI。 但是第一个问题是我必须执行initWithCoder。我给了它一个默认的实现,因为它不会被调用。现在,当我运行程序时,它崩溃了,因为我也必须实现initWithFrame。现在我得到了: override init() { super.init() println("Default init") } override init(frame: CGRect) { super.init(frame: frame) println("Frame init") } required init(coder aDecoder: NSCoder) { super.init(coder: aDecoder) println("Coder init") } 我的问题是我应该在哪里创建文本字段等?如果我从不实现框架和编码器,该如何“隐藏”呢?
95 ios  swift 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.