Questions tagged «swift»

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

9
Swift-如何在导航项中隐藏后退按钮?
现在我有两个视图控制器。我的问题是,在转换到第二个视图控制器后,我不知道如何隐藏后退按钮。我发现的大多数参考都在Objective-C中。如何在Swift中编写代码? 在Objective-C中隐藏后退按钮代码 [self.navigationItem setHidesBackButton:YES animated:YES];
103 ios  swift  xcode6 

3
非“ @objc”方法不满足“ @objc”协议的可选要求
概述: 我有一个协议P1,它提供了Objective-C可选功能之一的默认实现。 当我提供可选功能的默认实现时,会出现警告 编译器警告: Non-'@objc' method 'presentationController(_:viewControllerForAdaptivePresentationStyle:)' does not satisfy optional requirement of '@objc' protocol 'UIAdaptivePresentationControllerDelegate' 版: 斯威夫特:3 Xcode:8(公开发行) 尝试: 尝试添加@objc但无济于事 题: 我该如何解决? 有没有解决的办法? 码: @objc protocol P1 : UIAdaptivePresentationControllerDelegate { } extension P1 where Self : UIViewController { func presentationController(_ controller: UIPresentationController, viewControllerForAdaptivePresentationStyle style: UIModalPresentationStyle) -> UIViewController? { return …

12
Swift 4可解码协议中如何使用JSON字典类型解码属性
假设我的Customer数据类型包含一个metadata属性,该属性可以在客户对象中包含任何JSON字典 struct Customer { let id: String let email: String let metadata: [String: Any] } { "object": "customer", "id": "4yq6txdpfadhbaqnwp3", "email": "john.doe@example.com", "metadata": { "link_id": "linked-id", "buy_count": 4 } } 该metadata属性可以是任何任意的JSON映射对象。 在我可以从反序列化的JSON强制转换属性(NSJSONDeserialization但使用新的Swift 4 Decodable协议)之前,我仍然想不出一种方法。 有谁知道如何在Swift 4中使用Decodable协议实现这一目标?
103 json  swift  swift4  codable 

7
Swift上的块(animateWithDuration:animations:completion :)
我在使块在Swift上无法工作时遇到了麻烦。这是一个有效的示例(没有完成框): UIView.animateWithDuration(0.07) { self.someButton.alpha = 1 } 或者没有尾随闭包: UIView.animateWithDuration(0.2, animations: { self.someButton.alpha = 1 }) 但是一旦我尝试添加完成块,它将无法正常工作: UIView.animateWithDuration(0.2, animations: { self.blurBg.alpha = 1 }, completion: { self.blurBg.hidden = true }) 自动完成功能给了我,completion: ((Bool) -> Void)?但不确定如何使它起作用。还尝试了结尾闭包,但出现了相同的错误: ! Could not find an overload for 'animateWithDuration that accepts the supplied arguments Swift 3/4的更新: // This …
102 ios  swift  closures 

9
如何将类型应用于NSFetchRequest实例?
在Swift 2中,以下代码正在运行: let request = NSFetchRequest(entityName: String) 但是在Swift 3中它给出了错误: 无法推断通用参数“ ResultType” 因为NSFetchRequest现在是通用类型。他们在文件中写道: let request: NSFetchRequest<Animal> = Animal.fetchRequest 因此,例如,如果我的结果类是Level我应该如何正确请求? 因为这不起作用: let request: NSFetchRequest<Level> = Level.fetchRequest
102 swift  core-data  swift3 

5
Swift编程:存储属性中的getter / setter
如何覆盖Swift中存储属性的设置器? 在Obj-C中,我可以覆盖它的setter,但是Swift对于将getter / setter用于存储属性似乎并不满意。 假设我有一Card堂课,其属性称为rank。我不希望客户端给它任何无效的值,因此,在Objective-C中,我可以覆盖setRank它,以便它执行附加检查。但是willSet在Swift中似乎并没有帮助,因为newValue它是常量,并且分配没有意义,rank因为setter将在循环中调用。
102 ios  swift 

30
IBOutlet为零,但已在情节提要中连接到Swift
使用Swift 1.1和Xcode 6.2。 我有一个包含单个自定义UIViewController子类的UIStoryboard 。在它上面,我有一个从该控制器到情节提要上的子类@IBOutlet的类型连接。对于该视图的子视图,我也有类似的渠道。见图A。UIViewUIView 但是在运行时,这些属性为零(图B)。即使我确信已经连接了Interface Builder中的插座。 想法: 是否有可能因为我正在使用子类的子类而使初始化混乱?我没有覆盖任何初始化程序 awakeFromNib: 由于某种原因没有被打电话 也许它没有连接到子视图上的子视图 我尝试过的事情: @IBOutlet完全匹配和情节提要的项目类型(而不是UIView) 删除属性和出口并重新添加它们 图A * 图B *中的模糊代码Figure A为: @IBOutlet private var annotationOptionsView: UIView! @IBOutlet private var arrivingLeavingSwitch: UISegmentedControl! 谢谢。

6
Swift变量是原子的吗?
在Objective-C中,您可以区分原子性质和非原子性质: @property (nonatomic, strong) NSObject *nonatomicObject; @property (atomic, strong) NSObject *atomicObject; 根据我的理解,您可以安全地从多个线程读取和写入定义为原子的属性,而同时从多个线程写入和访问非原子属性或ivars可能会导致未定义的行为,包括严重的访问错误。 因此,如果您在Swift中有这样的变量: var object: NSObject 我可以安全地并行读写该变量吗?(不考虑这样做的实际含义)。
102 objective-c  swift 

20
如何获得Swift语言中某些整数的功效?
我最近学的很快,但是我有一个基本问题,找不到答案 我想得到像 var a:Int = 3 var b:Int = 3 println( pow(a,b) ) // 27 但是pow函数只能使用双数,不能使用整数,而且我什至无法将int转换为Double(a)或a.double()之类的东西。 为什么它不提供整数的幂?它一定会毫无疑问地返回一个整数!为什么不能将整数转换为双精度?只需将3更改为3.0(或3.00000 ...即可) 如果我有两个整数,并且想进行幂运算,该如何平稳地执行呢? 谢谢!
102 integer  double  swift  pow 

4
如何在Swift 4的Decodable协议中使用自定义键?
Swift 4通过该Decodable协议引入了对本机JSON编码和解码的支持。如何为此使用自定义键? 例如,说我有一个结构 struct Address:Codable { var street:String var zip:String var city:String var state:String } 我可以将其编码为JSON。 let address = Address(street: "Apple Bay Street", zip: "94608", city: "Emeryville", state: "California") if let encoded = try? encoder.encode(address) { if let json = String(data: encoded, encoding: .utf8) { // Print JSON String print(json) …
102 json  swift  swift4  codable 

2
如何在Swift中检查字符串以(前缀)开头还是以(后缀)结尾
我正在尝试测试Swift字符串是否以某个值开头或结尾。这些方法不存在: var str = "Hello, playground" str.startsWith("Hello") // error str.endsWith("ground") // error 我还想获取前缀和后缀字符串。我可以找到一个子字符串,正如这里和这里所回答的那样,但是范围在Swift中是如此痛苦。 有更简单的方法吗? (我在阅读文档时偶然发现了答案,并且由于我的搜索词没有找到SO答案,因此我在此处添加了问答。)
102 ios  string  swift 



3
SwiftUI:如何使用@Binding变量实现自定义init
我正在资金输入屏幕上工作,需要实现一个自定义项,init以便根据已初始化的金额设置状态变量。 我以为这可以用,但是出现编译器错误: Cannot assign value of type 'Binding<Double>' to type 'Double' struct AmountView : View { @Binding var amount: Double @State var includeDecimal = false init(amount: Binding<Double>) { self.amount = amount self.includeDecimal = round(amount)-amount > 0 } ... }
102 swift  swiftui 

25
Swift Xcode索引冻结或缓慢
也许这就是我正在经历的如此烦人的“功能”: 从Xcode 6.0.1升级到Xcode 6.1之后,情况发生了变化。Xcode 6.1永远索引项目或编译源文件。这个项目不是一个大项目。它仅在工作区中包含一堆Swift文件和AWS开发工具包2.0 Cocoapods。我认为这不应该阻止整体顺利索引和编译。我尝试了一些aws-sdk-ios-samples,只是为了了解Xcode 6.1在它们上的工作方式,并且最终导致了同样的等待。 到目前为止,我尝试过什么解决方案: 在管理器中删除“派生数据”,然后重新打开和工作区。(修复失败) 在.xcodeproj文件上“显示程序包内容”,并删除(xcode 4-慢速性能)中的.xcworkspace 不幸的是,他们都没有工作。 PS也许我应该尝试重新创建项目?我的计算机设置:MacBook Pro(13英寸视网膜,2014年中),内存8 GB 1600 MHz DDR3,带有Yosemite。(我认为这足以运行这个小项目。)

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.