Questions tagged «swift»

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

5
从常规方法调用协议默认实现
我想知道是否有可能实现这样的目标。 我有一个这样的游乐场: protocol Foo { func testPrint() } extension Foo { func testPrint() { print("Protocol extension call") } } struct Bar: Foo { func testPrint() { // Calling self or super go call default implementation self.testPrint() print("Call from struct") } } let sth = Bar() sth.testPrint() 我可以在中提供默认实现,extension但是如果Bar需要默认实现中的所有内容以及其他内容,该怎么办? 它在某种程度上类似于es中的调用super.方法,class可以满足实现每个属性等的要求structs。
82 swift  oop  protocols  swift2 

11
在0和1之间快速浮动
在Swift中,我试图获得0到1之间的随机浮点数,但是我似乎无法使类型转换正常工作。 func randomCGFloat() -> CGFloat { return CGFloat(arc4random()) / UINT32_MAX } 我收到“ CGFloat”无法转换为“ UInt8”错误 运行Xcode 6。


14
快速SHA256
我想在项目中使用sha256,但是在将objC代码重写为快速代码时遇到了一些麻烦。请帮帮我。我使用以下答案:如何在iOS中计算SHA-2(理想情况下为SHA 256或SHA 512)哈希? 这是我的代码 var hash : [CUnsignedChar] CC_SHA256(data.bytes, data.length, hash) var res : NSData = NSData.dataWithBytes(hash, length: CC_SHA256_DIGEST_LENGTH) 它给我的错误,因为一切都迅速不能转换Int到CC_LONG,例如。
82 swift  sha256 

6
UIStackView隐藏视图动画
在iOS 11中,a中隐藏动画的行为UIStackView已更改,但是我无法在任何地方找到该文档。 iOS 10 iOS 11 两者中的代码是这样的: UIView.animate(withDuration: DiscoverHeaderView.animationDuration, delay: 0.0, usingSpringWithDamping: 0.9, initialSpringVelocity: 1, options: [], animations: { clear.isHidden = hideClear useMyLocation.isHidden = hideLocation }, completion: nil) 如何在iOS 11上还原以前的行为?



12
在Swift中从userInfo获取键盘大小
我一直在尝试添加一些代码来在键盘出现时向上移动视图,但是,在尝试将Objective-C示例转换为Swift时遇到了问题。我已经取得了一些进步,但是我仍然停留在一条特定的线上。 这是我一直关注的两个教程/问题: 如何使用Swift http://www.ioscreator.com/tutorials/move-view-when-keyboard-appears在键盘出现时向上移动UIViewController的内容 这是我目前拥有的代码: override func viewWillAppear(animated: Bool) { NSNotificationCenter.defaultCenter().addObserver(self, selector: "keyboardWillShow:", name: UIKeyboardWillShowNotification, object: nil) NSNotificationCenter.defaultCenter().addObserver(self, selector: "keyboardWillHide:", name: UIKeyboardWillHideNotification, object: nil) } override func viewWillDisappear(animated: Bool) { NSNotificationCenter.defaultCenter().removeObserver(self) } func keyboardWillShow(notification: NSNotification) { var keyboardSize = notification.userInfo(valueForKey(UIKeyboardFrameBeginUserInfoKey)) UIEdgeInsets(top: 0, left: 0, bottom: keyboardSize.height, right: 0) let frame …
81 swift  uikeyboard 

11
Swift-从字符串中删除字符
我有一个字符串,它是“ Optional(“ 5”)“。我需要删除5号周围的“”。我通过执行以下操作删除了“可选”项: text2 = text2.stringByReplacingOccurrencesOfString("Optional(", withString: "", options: NSStringCompareOptions.LiteralSearch, range: nil) 我在删除“字符时遇到困难,因为它们在代码中指定了字符串的结尾。
81 ios  xcode  string  swift 

16
解析URL字符串以获取键值的最佳方法?
我需要解析这样的URL字符串: &ad_eurl=http://www.youtube.com/video/4bL4FI1Gz6s&hl=it_IT&iv_logging_level=3&ad_flags=0&endscreen_module=http://s.ytimg.com/yt/swfbin/endscreen-vfl6o3XZn.swf&cid=241&cust_gender=1&avg_rating=4.82280613104 我需要将NSString拆分为诸如cid=241和的标志部分&avg_rating=4.82280613104。我一直在用,substringWithRange:但是值以随机顺序返回,所以搞砸了。是否有任何类可以轻松解析,因此您基本上可以将其转换为NSDictionary以便能够读取键的值(例如ValueForKey:cid应该返回241)。还是有比使用NSMakeRange子字符串更简单的解析方法?

7
UIApplication.registerForRemoteNotifications()必须仅从主线程调用
Xcode 9(iOS 11)向我显示了注册推送(远程)通知时的错误/警告。 这是错误消息 这是代码,我已经尝试过: let center = UNUserNotificationCenter.current() center.delegate = self center.requestAuthorization(options: [.sound, .alert, .badge]) { (granted, error) in if error == nil{ UIApplication.shared.registerForRemoteNotifications() } } 错误/警告行: UIApplication.shared.registerForRemoteNotifications() 如何解决呢?

7
在另一个视图控制器中将视图控制器添加为子视图
我没有找到有关此问题的帖子,但没有一个帖子解决了我的问题。 就像我说的那样。 ViewControllerA ViewControllerB 我试图将ViewControllerB添加为ViewControllerA中的子视图,但是它抛出类似“ fatal error: unexpectedly found nil while unwrapping an Optional value”的错误。 下面是代码... ViewControllerA var testVC: ViewControllerB = ViewControllerB(); override func viewDidLoad() { super.viewDidLoad() self.testVC.view.frame = CGRectMake(0, 0, 350, 450); self.view.addSubview(testVC.view); // Do any additional setup after loading the view. } ViewControllerB只是一个带有标签的简单屏幕。 ViewControllerB @IBOutlet weak var test: …


7
带参数的Swift GET请求
我是新手,所以我的代码可能会出现很多错误,但是我要实现的目标是将GET请求发送到带有参数的localhost服务器。鉴于我的函数有两个参数,我试图做到更多baseURL:string,params:NSDictionary。我不确定如何将两者结合到实际的URLRequest中?到目前为止,这是我尝试过的 func sendRequest(url:String,params:NSDictionary){ let urls: NSURL! = NSURL(string:url) var request = NSMutableURLRequest(URL:urls) request.HTTPMethod = "GET" var data:NSData! = NSKeyedArchiver.archivedDataWithRootObject(params) request.HTTPBody = data println(request) var session = NSURLSession.sharedSession() var task = session.dataTaskWithRequest(request, completionHandler:loadedData) task.resume() } } func loadedData(data:NSData!,response:NSURLResponse!,err:NSError!){ if(err != nil){ println(err?.description) }else{ var jsonResult: NSDictionary = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: …
81 ios  swift  get  nsurlrequest 

2
Swift中的掷球和掷球有什么区别?
经过寻找一些参考的数字出来,-unfortunately-我找不到任何关于理解之间的差异有用-和简单-描述throws和rethrows。当试图了解我们应该如何使用它们时,这有点令人困惑。 我要说的是,我对-default-最为熟悉,它throws具有传播错误的最简单形式,如下所示: enum CustomError: Error { case potato case tomato } func throwCustomError(_ string: String) throws { if string.lowercased().trimmingCharacters(in: .whitespaces) == "potato" { throw CustomError.potato } if string.lowercased().trimmingCharacters(in: .whitespaces) == "tomato" { throw CustomError.tomato } } do { try throwCustomError("potato") } catch let error as CustomError { switch error { …

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.