Questions tagged «swift»

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

4
默认情况下,如何在Swift中将成员初始化器公开?
我有一个定义结构的快速框架: public struct CollectionTO { var index: Order var title: String var description: String } 但是,我似乎无法从导入该库的另一个项目中使用隐式成员明智的初始化程序。错误是“ CollectionTO”无法初始化,因为它没有可访问的初始化程序。也就是说,它没有为默认的隐式成员明智的初始化程序提供public关键字。 var collection1 = CollectionTO(index: 1, title: "New Releases", description: "All the new releases") 我必须像这样添加自己的初始化方法: public struct CollectionTO { var index: Order var title: String var description: String public init(index: Order, title: String, description: …

13
如何在Swift中使用AVPlayerViewController(AVKit)播放视频
如何在Swift中使用AV Kit Player View Controller播放视频? override func viewDidLoad() { super.viewDidLoad() let videoURLWithPath = "http://****/5.m3u8" let videoURL = NSURL(string: videoURLWithPath) playerViewController = AVPlayerViewController() dispatch_async(dispatch_get_main_queue()) { self.playerViewController?.player = AVPlayer.playerWithURL(videoURL) as AVPlayer } }

7
Swift的-[NSObject description]等效项是什么?
在Objective-C中,可以description向其类中添加一种方法来帮助调试: @implementation MyClass - (NSString *)description { return [NSString stringWithFormat:@"<%@: %p, foo = %@>", [self class], foo _foo]; } @end 然后在调试器中,您可以执行以下操作: po fooClass <MyClass: 0x12938004, foo = "bar"> Swift中的等效项是什么?Swift的REPL输出可能会有所帮助: 1> class MyClass { let foo = 42 } 2> 3> let x = MyClass() x: MyClass = { foo = …
163 swift 

9
混淆UITextField密码
我正在做一个登录页面。我有UITextField作为密码。 显然,我不希望看到密码。相反,我希望键入时显示圆圈。您如何设置发生这种情况的领域?
162 ios  swift  iphone  security  ipad 

9
如何在Swift中找到NSDocumentDirectory?
我正在尝试使用代码获取Documents文件夹的路径: var documentsPath = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory:0,NSSearchPathDomainMask:0,true) 但是Xcode给出了错误: Cannot convert expression's type 'AnyObject[]!' to type 'NSSearchPathDirectory' 我试图了解代码中的错误。

6
Swift do-try-catch语法
我尝试理解Swift 2中的新错误处理方法。这是我做的:我首先声明了一个错误枚举: enum SandwichError: ErrorType { case NotMe case DoItYourself } 然后我声明了一个引发错误的方法(伙计们不是异常。这是一个错误。)。这是该方法: func makeMeSandwich(names: [String: String]) throws -> String { guard let sandwich = names["sandwich"] else { throw SandwichError.NotMe } return sandwich } 问题出在呼叫方。这是调用此方法的代码: let kitchen = ["sandwich": "ready", "breakfeast": "not ready"] do { let sandwich = try makeMeSandwich(kitchen) print("i …
162 swift  swift2 

5
Swift可选的转义闭包参数
鉴于: typealias Action = () -> () var action: Action = { } func doStuff(stuff: String, completion: @escaping Action) { print(stuff) action = completion completion() } func doStuffAgain() { print("again") action() } doStuff(stuff: "do stuff") { print("swift 3!") } doStuffAgain() 有什么方法可以使completion参数(和action)的类型Action?也保持不变@escaping? 更改类型会出现以下错误: @escaping属性仅适用于函数类型 删除该@escaping属性后,代码将编译并运行,但是由于completion闭包使函数的作用范围变大,因此似乎并不正确。

2
Swift 2:通话可以抛出,但未标记为“ try”且未处理错误
在安装Xcode 7 beta并将Swift代码转换为Swift 2之后,我遇到了一些我无法弄清楚的代码问题。我知道Swift 2是新的,所以我搜索并找出了答案,因为没有任何相关内容,我应该写一个问题。 这是错误: 可以抛出呼叫,但未将其标记为“ try”,并且未处理错误 码: func deleteAccountDetail(){ let entityDescription = NSEntityDescription.entityForName("AccountDetail", inManagedObjectContext: Context!) let request = NSFetchRequest() request.entity = entityDescription //The Line Below is where i expect the error let fetchedEntities = self.Context!.executeFetchRequest(request) as! [AccountDetail] for entity in fetchedEntities { self.Context!.deleteObject(entity) } do { try self.Context!.save() …
161 ios  xcode  swift 

4
为什么我需要快速下划线?
在这里,它说,“注:_意思是‘我不关心这个值’”,但是从JavaScript来了,我不明白是什么意思。 我可以打印这些功能的唯一方法是在参数前使用下划线: func divmod(_ a: Int, _ b:Int) -> (Int, Int) { return (a / b, a % b) } print(divmod(7, 3)) print(divmod(5, 2)) print(divmod(12,4)) 没有下划线,我必须这样写,以避免出现任何错误: func divmod(a: Int, b:Int) -> (Int, Int) { return (a / b, a % b) } print(divmod(a: 7, b: 3)) print(divmod(a: 5, b: 2)) …
161 swift 


10
IBOutlet和IBAction
在Xcode和Interface Builder中使用IBOutlet和IBAction的目的是什么? 如果我不使用IBOutlets和IBAction,有什么区别吗? 迅速: @IBOutlet weak var textField: UITextField! @IBAction func buttonPressed(_ sender: Any) { /* ... */ } 目标C: @property (nonatomic, weak) IBOutlet UITextField *textField; - (IBAction)buttonPressed:(id)sender { /* ... */ }

13
单击按钮时如何打开电话设置?
我正在尝试在应用程序中实现一项功能,当互联网连接不可用时会显示警报。该警报有两个操作(“确定”和“设置”),每当用户单击设置时,我都希望以编程方式将其设置为手机设置。 我正在使用Swift和Xcode。
159 ios  swift  settings 

8
等待直到带有异步网络请求的swift for loop完成执行
我希望for in循环向Firebase发送一堆网络请求,然后在该方法完成执行后将数据传递给新的视图控制器。这是我的代码: var datesArray = [String: AnyObject]() for key in locationsArray { let ref = Firebase(url: "http://myfirebase.com/" + "\(key.0)") ref.observeSingleEventOfType(.Value, withBlock: { snapshot in datesArray["\(key.0)"] = snapshot.value }) } // Segue to new view controller here and pass datesArray once it is complete 我有几个问题。首先,如何等待for循环完成并且所有网络请求完成?我无法修改observeSingleEventOfType函数,它是firebase SDK的一部分。另外,我是否会尝试通过for循环的不同迭代(有意义的希望)访问datesArray来创建某种竞争条件?我一直在阅读有关GCD和NSOperation的文章,但由于这是我开发的第一个应用程序,我有点迷茫。 注意:Locations数组是包含我需要在firebase中访问的键的数组。同样,重要的是异步触发网络请求。我只想等待所有异步请求完成,然后再将datesArray传递给下一个视图控制器。


21
@IBDesignable错误:IB Designables:无法更新自动布局状态:Interface Builder Cocoa Touch Tool崩溃
我有一个非常简单的UITextView子类,它添加了“占位符”功能,您可以在“文本字段”对象中找到该功能。这是我的子类代码: import UIKit import Foundation @IBDesignable class PlaceholderTextView: UITextView, UITextViewDelegate { @IBInspectable var placeholder: String = "" { didSet { setPlaceholderText() } } private let placeholderColor: UIColor = UIColor.lightGrayColor() private var textColorCache: UIColor! override init(frame: CGRect) { super.init(frame: frame) self.delegate = self } required init(coder aDecoder: NSCoder) { super.init(coder: aDecoder) …

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.