Articles of swift

Swift 2.0:协议扩展:两个具有相同function签名编译错误的协议

鉴于这两个协议及其扩展: protocol FirstDelegate { func someFunc() } protocol SecondDelegate { func someFunc() } extension FirstDelegate { func someFunc() { print(“First delegate”) } } extension SecondDelegate { func someFunc() { print(“Second delegate”) } } 并试图符合他们两个: class SomeClass: FirstDelegate, SecondDelegate {} 我收到编译时错误: 类型’SomeClass’不符合协议’FirstDelegate’ 交换FirstDelegate和SecondDelegate : class SomeClass: SecondDelegate, FirstDelegate {} 产生逆转: 类型’SomeClass’不符合协议’SecondDelegate’ 删除其中一个扩展可以解决问题。 同上在SomeClass为someFunc()提供实现。 这个协议扩展function对我来说相当新。 苹果官方的“Swift编程指南(预发布)”中有关它的信息目前还很少。 我在这里违反了一些协议扩展规则吗?

如何在Swift for iOS中使用NSDateFormatter格式化date?

我试图parsing这个date“2016年6月18日星期六”到“18/06/2016”我知道这可以使用正则expression式的方法,但我不知道如何得到一个输出使用。 在swift中使用NSDateFormatter的方法将是首选

Swift 3无法识别的select器发送到实例UIButton

我得到这个错误: 由于未捕获exception“NSInvalidArgumentException”而终止应用程序,原因:' – [UITouchesEvent text]:无法识别的select程序发送到实例0x6100000e9400' 它崩溃的button: import UIKit import Firebase import FBSDKLoginKit class RegisterViewController: UIViewController, FBSDKLoginButtonDelegate, UITextFieldDelegate { override func viewDidLoad() { super.viewDidLoad() // Create Sign Up button let signUpButton: UIButton = { let button = UIButton() button.setImage(#imageLiteral(resourceName: "Go Button@1x"), for: .normal) button.addTarget(self, action: #selector(createAccountTapped), for: .touchUpInside) // when tapped on Sign In button, execute […]

如何在100个文本字段中查看ios swift

表格视图100中的单元格的数目和每个有文本字段的单元格以及何时滚动值应该出现在文本框中。 和另一个LABEL在Table视图中显示没有索引。

如何将数组保存到UserDefaults,然后检索该数组并打印

这是我的代码。 这似乎是一个错误。 任何人都可以请帮忙。 class PopUpVC: UIViewController { var myArray1 = ["1","2","3"] var myArray2 = [String]() UserDefaults.standard.set(myArray1, forKey: "array") override func viewDidLoad() { super.viewDidLoad() self.myArray2 = (UserDefaults.standard.string(forKey: "array") as? [String])! print(self.myArray) }

在swift中保存variables和布尔值3

我是iOS开发新手,目前正在创build我的第一个应用程序,其核心function是一个计时器 我有几个不同的variables(例如计时器的开始时间)和定时器是否运行的布尔值。 有没有办法可以保存计时器的开始时间或布尔值,即使应用程序closures? 我使用NSDate来存储开始时间,并将当前时间与此进行比较,以产生一个经过的时间值。 提前致谢!

使用相同数组的不同索引处的对象填充CollectionView和TableView

我想在CollectionView中显示“group_type”== 1的产品,在TableView中显示“group_type”== 2的产品。 我想填充TableView的顺序,其中“group_title”将作为行的数组“产品”中的节标题和产品。 以下是我的JSON。 我需要什么Swift代码? "product_groups": [ { "group_title": "Recommended", "group_type": 1, "products": [ { "product_id": 1, "product_name": "Product 1", "product_price": "Rs 1,999/-", "product_category": "Equipment & Chairs", "product_image": "https://project-isdental-cammy92.c9users.io/api/images/products/product_1.jpg", "product_description": "Description 1" }, { "product_id": 2, "product_name": "Product 2", "product_price": "Rs 1,999/-", "product_category": "Equipment & Chairs", "product_image": "https://project-isdental-cammy92.c9users.io/api/images/products/product_1.jpg", "product_description": "Description 1" }, { "product_id": […]

如何在不使用第三方库的情况下在swift2中下载页面?

我正试图在应用程序中显示下载的HTML页面。 请解释最简单的方法,而不使用任何第三方库。 干杯,

使UIViewController从底部出现,然后隐藏它

我需要一个UIViewController从另一个视图控制器的底部出现。 我还需要用一个button来隐藏它,回到以前的视图控制器,而不用重新加载它。 可能吗?

迅速的应用程序需要~6分钟才能build立

我有一个约100kstring数组的Swift应用程序。 数组看起来像这样: let strings: [String] = [ "a", "as", // 99,998 elements later… "zebra" ] 在iOS模拟器中构build和运行应用程序需要将近6分钟的时间。 我已经将这个数组包含在项目中的时间缩短了。 一旦build成,后续发射速度非常快(直到我不得不再次build立)。 我能做些什么来加快构build过程?