Questions tagged «swift»

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

6
Swift本机基类或NSObject
我测试了一些用Swift 编写的isa,发现它仅在NSObject是超类(直接或更高级)或使用'@objc'装饰时才有效。否则,它将遵循静态和vtable-dispatch样式,例如C ++。 定义没有Cocoa / NSObject基类的Swift类是否正常?如果我担心的话,这意味着要放弃Objective-C的许多活力,例如方法拦截和运行时自省。 动态运行时行为位于属性观察器,核心数据,面向方面的编程,高阶消息传递,分析和日志记录框架等功能的核心。 使用Objective-C的方法调用样式会将大约20个机器代码操作数添加到方法调用中,因此在某些情况下(对带有小实体的方法进行许多紧密调用),C ++样式的静态和vtable分派可以更好地执行。 但是考虑到一般的95-5规则(95%的性能提升来自调整5%的代码),从强大的动态功能入手并在必要时进行强化是否有意义?

5
带有“确定”和“取消”的快速警报视图:点击了哪个按钮?
我有一个用Swift编写的Xcode警报视图,我想确定用户选择了哪个按钮(这是一个确认对话框),该按钮什么也不做或执行某些操作。 目前我有: @IBAction func pushedRefresh(sender: AnyObject) { var refreshAlert = UIAlertView() refreshAlert.title = "Refresh?" refreshAlert.message = "All data will be lost." refreshAlert.addButtonWithTitle("Cancel") refreshAlert.addButtonWithTitle("OK") refreshAlert.show() } 我可能使用了错误的按钮,请对我进行纠正,因为这对我来说是全新的。

6
画圆的动画
我正在寻找一种动画绘制圆的方法。我已经能够创建圆,但是将其全部绘制在一起。 这是我的CircleView课: import UIKit class CircleView: UIView { override init(frame: CGRect) { super.init(frame: frame) self.backgroundColor = UIColor.clearColor() } required init(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } override func drawRect(rect: CGRect) { // Get the Graphics Context var context = UIGraphicsGetCurrentContext(); // Set the circle outerline-width CGContextSetLineWidth(context, 5.0); …


6
如何在iOS 10上使用Facebook iOS SDK
我正在尝试使用Xcode 8使用Swift 3通过Facebook登录构建应用程序。当我切换回iOS Simulator 9.3时,它可以工作。在iOS 10中,我收到此错误: ""fbauth2:/" The operation couldn’t be completed. (OSStatus error -10814.)" 和 Optional(Error Domain=com.facebook.sdk.login Code=308 "(null)") 有人对此有解决方案吗? 注1: 调试后,此问题是FBSDK无法更新expect_challange。SecItemUpdate内部功能security.framework不起作用。这是IOS 10的问题

8
什么时候可以激活/停用布局约束?
我在IB中设置了多组约束,并且我想根据某种状态以编程方式在约束之间进行切换。有一个constraintsA插座集合都标记为已从IB安装,而constraintsB所有插座集合都已从IB 中卸载。 我可以通过编程方式在两组之间切换,如下所示: NSLayoutConstraint.deactivateConstraints(constraintsA) NSLayoutConstraint.activateConstraints(constraintsB) 但是...我不知道何时该做。看来我应该能够一次完成该操作viewDidLoad,但是我无法使其正常工作。我已经打过电话view.updateConstraints(),并view.layoutSubviews()设置约束条件之后,但无济于事。 我确实发现,如果我在viewDidLayoutSubviews所有工作中都按预期设置了约束,我想我想知道两件事... 为什么会出现这种情况? 是否可以从viewDidLoad激活/停用约束?

18
激活元素后如何获取indexpath.row?
我有一个带有按钮的表格视图,当我点击其中一个按钮时,我想使用indexpath.row。这是我目前拥有的,但始终为0 var point = Int() func buttonPressed(sender: AnyObject) { let pointInTable: CGPoint = sender.convertPoint(sender.bounds.origin, toView: self.tableView) let cellIndexPath = self.tableView.indexPathForRowAtPoint(pointInTable) println(cellIndexPath) point = cellIndexPath!.row println(point) }

6
如何从Swift 4的Codable中排除属性
Swift 4的新的Encodable/Decodable协议使JSON(反)序列化变得非常令人愉快。但是,我还没有找到一种方法可以对应该编码的属性和应该解码的属性进行细粒度控制。 我注意到,从随附的CodingKeys枚举中排除该属性会将该属性从流程中完全排除,但是有没有办法进行更细粒度的控制?
104 json  swift  codable 

24
快速创建和播放声音
所以我想做的就是快速创建并播放声音,当我按下一个按钮时就会播放,我知道如何在Objective-C中做到这一点,但是有人知道如何在Swift中做到吗? 对于Objective-C来说就像这样: NSURL *soundURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"mysoundname" ofType:@"wav"]]; AudioServicesCreateSystemSoundID((__bridge CFURLRef)soundURL, &mySound); 然后播放,我会做: AudioServicesPlaySystemSound(Explosion); 有人知道我该怎么做吗?
103 ios  objective-c  audio  swift 

2
Swift只读外部,读写内部属性
在Swift中,定义公共模式的常规方式是什么,在该模式中,属性是外部只读的,但可以由拥有该属性的类(和子类)在内部进行修改。 在Objective-C中,有以下选项: 在接口中将该属性声明为只读,并使用类扩展名在内部访问该属性。这是基于消息的访问,因此可以很好地与KVO,原子性等配合使用。 在接口中将该属性声明为只读,但在内部访问后备ivar。由于对ivar的默认访问受到保护,因此在类层次结构中效果很好,在该类层次结构中,子类也可以修改值,但该字段为只读。 在Java中,约定为: 声明一个受保护的字段,并实现一个公共的只读getter(方法)。 Swift的成语是什么?

12
在Swift中访问SQLite数据库
我正在寻找一种使用Swift代码在我的应用程序中访问SQLite数据库的方法。 我知道我可以在Objective C中使用SQLite包装器并使用桥接头,但是我希望能够完全在Swift中完成此项目。如果可以的话,有没有办法做到这一点,有人可以将我指向一个引用,该引用显示了如何提交查询,检索行等。
103 sqlite  swift 

6
Xcode只能重构C和Objective-C代码。如何在Xcode 6中重命名Swift类名称?
我已经在Xcode 6 beta版中创建了一个新的Single View Application Project。我想将swift类重命名ViewController.swift为其他名称。但是当我选择Refactor-> Rename时,它给出error Xcode can only refactor C and Objective-C code。 任何想法如何重命名Xcode 6中的swift类? 更新: 最终,Xcode 9支持Swift重构。苹果花了3年时间才添加此基本功能。重构
103 ios  swift  xcode  xcode6  xcode9 

9
UIAlertAction的编写处理程序
我向UIAlertView用户展示了一个,但我不知道如何编写处理程序。这是我的尝试: let alert = UIAlertController(title: "Title", message: "Message", preferredStyle: UIAlertControllerStyle.Alert) alert.addAction(UIAlertAction(title: "Okay", style: UIAlertActionStyle.Default, handler: {self in println("Foo")}) 我在Xcode中遇到很多问题。 该文件说 convenience init(title title: String!, style style: UIAlertActionStyle, handler handler: ((UIAlertAction!) -> Void)!) 目前,整个块/封盖都让我有些头疼。任何建议都非常感谢。


5
“%不可用:改为使用truncatingRemainder”是什么意思?
使用扩展代码时,出现以下错误,我不确定他们是否要求使用其他运算符或基于Internet搜索修改表达式中的值。 错误:%不可用:改用truncatingRemainder 扩展代码: extension CMTime { var durationText:String { let totalSeconds = CMTimeGetSeconds(self) let hours:Int = Int(totalSeconds / 3600) let minutes:Int = Int(totalSeconds % 3600 / 60) let seconds:Int = Int(totalSeconds % 60) if hours > 0 { return String(format: "%i:%02i:%02i", hours, minutes, seconds) } else { return String(format: "%02i:%02i", …
103 ios  swift  swift3  modulus 

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.