Questions tagged «swift»

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

22
快速拨打电话
我正在尝试拨打的电话不是使用特定号码,而是使用在变量中被调用的号码,或者至少告诉它在您的电话中提取该号码。这个在变量中被调用的数字是我通过使用解析器或从网站sql获取的数字。我做了一个按钮,试图用一个函数调用存储在变量中的电话号码,但无济于事。一切都会帮助谢谢! func callSellerPressed (sender: UIButton!){ //(This is calls a specific number)UIApplication.sharedApplication().openURL(NSURL(string: "tel://######")!) // This is the code I'm using but its not working UIApplication.sharedApplication().openURL(NSURL(scheme: NSString(), host: "tel://", path: busPhone)!) }

3
如何将通用协议用作变量类型
假设我有一个协议: public protocol Printable { typealias T func Print(val:T) } 这是实现 class Printer<T> : Printable { func Print(val: T) { println(val) } } 我的期望是我必须能够使用Printable变量来打印这样的值: let p:Printable = Printer<Int>() p.Print(67) 编译器抱怨此错误: “协议'Printable'只能用作一般约束,因为它具有Self或关联的类型要求” 难道我做错了什么 ?有任何解决这个问题的方法吗 ? **EDIT :** Adding similar code that works in C# public interface IPrintable<T> { void Print(T val); …
89 ios  xcode  generics  swift 

17
使用NSDate获取星期几
我创建了一个方法,该方法应采用“ YYYY-MM-DD”形式的字符串,并吐出一个int,该int表示相对于它所在的星期的日期位置(无论两个月之间是否重叠)。因此,例如,sunday = 1星期一= 2,依此类推。 这是我的代码: func getDayOfWeek(today:String)->Int{ var formatter:NSDateFormatter = NSDateFormatter() formatter.dateFormat = "YYYY-MM-DD" var todayDate:NSDate = formatter.dateFromString(today)! var myCalendar:NSCalendar = NSCalendar(calendarIdentifier: NSGregorianCalendar) var myComponents = myCalendar.components(NSCalendarUnit.WeekdayOrdinalCalendarUnit, fromDate: todayDate) var weekDay = myComponents.weekdayOrdinal return weekDay } 我知道那NSCalendarUnit.WeekdayOrdinalCalendar是错误的,但是我尝试了大多数逻辑组合。并且也搞砸了myComponents.weekdayOrdinal二手mycomponents.day或二手.weekday。 这是我使用方式的选择: static var EraCalendarUnit: NSCalendarUnit { get } static var YearCalendarUnit: NSCalendarUnit …

12
如何在Swift中按数组元素分组
假设我有以下代码: class Stat { var statEvents : [StatEvents] = [] } struct StatEvents { var name: String var date: String var hours: Int } var currentStat = Stat() currentStat.statEvents = [ StatEvents(name: "lunch", date: "01-01-2015", hours: 1), StatEvents(name: "dinner", date: "01-01-2015", hours: 1), StatEvents(name: "dinner", date: "01-01-2015", hours: 1), StatEvents(name: …
89 ios  arrays  swift  nsarray 

2
由于“内部”保护级别,无法访问初始化程序
我有一些协议 登录策略 public protocol LoginStrategy { func login(_ viewController: UIViewController) func getUserInfo(withCompletionHandler completionHandler: @escaping (_ userInfo: [String: Any]?) -> ()) func createLoginButton(_ frame: CGRect, withCompletionHandler completionHandler: @escaping (_ loginButton: UIView) -> ()) func getUserId() -> String } 和两个类: LoginProvider public class LoginProvider { public let strategy: LoginStrategy public func login(_ …

12
使用故事板中的界面设置在Swift中为UIViewController进行自定义初始化
我在为UIViewController的子类编写自定义init时遇到问题,基本上我想将依赖项通过viewController的init方法传递,而不是像 viewControllerB.property = value 所以我为viewController做了一个自定义的初始化,并调用了超级指定的初始化 init(meme: Meme?) { self.meme = meme super.init(nibName: nil, bundle: nil) } 视图控制器界面位于情节提要中,我也将自定义类的界面设置为我的视图控制器。即使您未在此方法中执行任何操作,Swift也需要调用此init方法。否则编译器会抱怨... required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) } 问题是当我尝试使用MyViewController(meme: meme)它的自定义init根本没有在viewController中的init属性时... 我正在尝试调试,我在viewController中init(coder aDecoder: NSCoder)找到它,然后先调用它,然后再调用我的自定义init。但是,这两个init方法返回不同的self内存地址。 我怀疑有毛病初始化为我的viewController,它总是会返回self与init?(coder aDecoder: NSCoder),其中,有没有实现。 有谁知道如何正确地为您的viewController进行自定义初始化?注意:我的viewController的界面是在情节提要中设置的 这是我的viewController代码: class MemeDetailVC : UIViewController { var meme : Meme! @IBOutlet weak var editedImage: UIImageView! // …

8
如何在视图控制器和Swift中的其他对象之间共享数据?
假设我的Swift应用程序中有多个视图控制器,我希望能够在它们之间传递数据。如果我在视图控制器堆栈中处于多个级别,那么如何将数据传递到另一个视图控制器?还是在标签栏视图控制器中的标签之间? (请注意,这个问题是个“响当当”。)它被问到太多了,所以我决定写一个关于这个主题的教程。请参阅下面的答案。
88 ios  swift 

7
为什么Swift初始化程序不能在其超类上调用便捷初始化程序?
考虑两个类: class A { var x: Int init(x: Int) { self.x = x } convenience init() { self.init(x: 0) } } class B: A { init() { super.init() // Error: Must call a designated initializer of the superclass 'A' } } 我不明白为什么不允许这样做。最终,每个类的指定初始化叫他们需要的任何值,那么为什么我要重复我自己B的init通过指定一个默认值x再次,当方便init在A会做得很好?

5
Swift的详尽切换语句的Noop
Swift需要详尽的switch语句,并且每种情况都有可执行代码。 “ switch”中的“ case”标签应至少包含一个可执行语句 是否有人愿意以一种好的方式来处理您不想实际做任何事情的情况?我可以在其中放一个println(),但这感觉很脏。
88 swift 

7
Swift中的不可变/可变集合
我指的是Apple的Swift编程指南,用于理解以Swift语言创建可变/不可变对象(数组,字典,集合,数据)。但是我不明白如何在Swift中创建一个不可变的集合。 我希望在Objective-C中看到以下Swift中的等效项 不变数组 NSArray *imArray = [[NSArray alloc]initWithObjects:@"First",@"Second",@"Third",nil]; 可变数组 NSMutableArray *mArray = [[NSMutableArray alloc]initWithObjects:@"First",@"Second",@"Third",nil]; [mArray addObject:@"Fourth"]; 不变字典 NSDictionary *imDictionary = [[NSDictionary alloc] initWithObjectsAndKeys:@"Value1", @"Key1", @"Value2", @"Key2", nil]; 可变字典 NSMutableDictionary *mDictionary = [[NSMutableDictionary alloc]initWithObjectsAndKeys:@"Value1", @"Key1", @"Value2", @"Key2", nil]; [mDictionary setObject:@"Value3" forKey:@"Key3"];

11
在Swift中基于Int刷新UITableView的某些行
我是Swift的初级开发人员,正在创建一个包含UITableView的基本应用程序。我想使用以下方法刷新表的特定行: self.tableView.reloadRowsAtIndexPaths(paths, withRowAnimation: UITableViewRowAnimation.none) 我希望将要刷新的行来自名为rowNumber的Int 问题是,我不知道该怎么做,我搜索的所有线程都是针对Obj-C的 有任何想法吗?


14
Swift-如果小数等于0,如何从浮点数中删除小数?
我正在显示一个带小数点的距离,如果它等于0(例如:1200.0Km),我想删除此小数点,如何迅速做到这一点?我正在显示此数字,如下所示: let distanceFloat: Float = (currentUser.distance! as NSString).floatValue distanceLabel.text = String(format: "%.1f", distanceFloat) + "Km"



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.