Tag: 迅速的

Swift内联条件?

我如何在Swift中执行此操作? (someboolexpression ? "Return value 1" : "Return value 2") (不,我还没有读完整本手册…我可能在第2页上错过了!) 好,所以它在第91页和上面看起来是正确的。 不过,我试图用这样的string: println(" some string \(some expression ? "Return value 1" : "Return value 2")" 但编译器不开心。 任何想法如果这可能吗? 这和我所能得到的一样接近 let exists = "exists" let doesnotexist= "does not exist" println(" something \(fileExists ? exists : doesnotexist)")

不支持使用某些协议作为符合其他协议的具体types

我正在尝试将generics和协议混合起来,而且我正在遇到xD 我在Android / Java项目中实现了一定的体系结构,我试图重写它以适应Swift / iOS项目。 但是我发现这个限制。 ProtocolA protocol ProtocolA { } ProtocolB protocol ProtocolB : ProtocolA { } ImplementProtocolA class ImplementProtocolA <P : ProtocolA> { let currentProtocol : P init(currentProtocol : P) { self.currentProtocol = currentProtocol } } ImplementProtocolB class ImplementProtocolB : ImplementProtocolA<ProtocolB> { } 所以,当我尝试将ProtocolB设置为实现ProtocolA的具体types时,我得到这个错误: 不支持使用“ProtocolB”作为符合协议“ProtocolA”的具体types 1这个“限制”有什么理由吗? 2是否有任何解决方法来实现这个? 3在某些时候会得到支持吗? – 更新 – 同样的问题的另一个变种,我想: […]

我如何声明一个具有types和实现协议的variables?

我的应用程序有一个协议详细视图控制器,说明他们必须有一个viewModel属性: protocol DetailViewController: class { var viewModel: ViewModel? {get set} } 我也有几个不同的类来实现协议: class FormViewController: UITableViewController, DetailViewController { // … } class MapViewController: UIViewController, DetailViewController { // … } 我的主视图控制器需要一个属性,可以设置任何实现DetailViewController协议的UIViewController子类。 不幸的是,我找不到任何文件如何做到这一点。 在Objective-C中,这将是微不足道的: @property (strong, nonatomic) UIViewController<DetailViewController>; 看来在Swift中没有可用的语法来执行此操作。 我最近来的是在我的类定义中声明一个generics: class MasterViewController<T where T:UIViewController, T:DetailViewController>: UITableViewController { var detailViewController: T? // … } 但后来我得到一个错误,说“类'MasterViewController'没有实现其超类所需的成员” 这看起来应该像在Objective-C中一样简单,但是在任何地方我都找不到任何可以解决的问题。

在Swift中列表理解

语言指南显示没有列表理解的痕迹。 在Swift中完成这个的最好方法是什么? 我正在寻找类似于: evens = [ x for x in range(10) if x % 2 == 0]

swift在编译Xcode时退出代码1失败 – 可能与Bridging-Headers有关

我有一个Obj-C项目,我试图迁移到Swift。 我在各个class都成功了,但最近遇到了一个我似乎无法理解的问题。 当我尝试编译我当前的代码库时,我得到以下(超级不可靠的错误消息) 我唯一的假设是它与桥接头相关,但Xcode并没有给我足够的信息来确定这是否是真实的。 我正在使用Cocoapods将Cocoapods添加到我的项目中。 我正试图将下面的类迁移到swift: Obj-c类(ScatterPlotContainer.h) #import <Foundation/Foundation.h> @class CPTScatterPlot; @interface ScatterPlotContainer : NSObject @property (nonatomic, strong) CPTScatterPlot *ahrsAlt; @property (nonatomic, strong) CPTScatterPlot *calibration; @property (nonatomic, strong) CPTScatterPlot *coreAlt; @property (nonatomic, strong) CPTScatterPlot *pitch; @property (nonatomic, strong) CPTScatterPlot *roll; @property (nonatomic, strong) CPTScatterPlot *slip; @end Obj-c类(ScatterPlotContainer.m) #import <CorePlot/CPTScatterPlot.h> #import "ScatterPlotContainer.h" @implementation ScatterPlotContainer { } […]

Swift中'fileprivate'关键字的含义是什么?

我开始迅速,并打开使用从Xcode 8testing版swift2创build的项目, private修改器改为fileprivate 。 这个关键词是什么意思? 和private什么不一样?

如何在“”内打印双引号?

有人可以告诉我如何以“双引号”的方式打印一些东西。 “双引号”

Swift框架不能使用除“Debug”或“Release”以外的其他构buildconfiguration:没有这样的模块

每当我尝试使用名为“Debug”或“Release”以外的构buildconfiguration时,Xcode突然找不到我的Swift框架。 configuration与其名称完全相同(实际上,新的configuration是从工作的“debugging”configuration中复制的)。 Xcode报告“没有这样的模块” 这似乎是一个非常奇怪的错误。 肯定有人遇到过这个? 我的Googlesearch没有结果。 有没有人有任何想法可能会导致这个问题? 我很确定我正确地添加了框架。 我创build了一个简短的截屏video,向您展示我在做什么: http : //www.screencast.com/t/zpgZ5ZYgvH 底线: 确保项目目前使用第三方Swift框架构build 在项目/文件导航器中select项目 在编辑器左侧边栏中select目标上方的项目,并确保您在“信息”选项卡上 通过单击configuration列表下方的+button,然后select“重复XXXconfiguration”,复制当前configuration(可能是“debugging” 转到产品(菜单)>scheme>编辑scheme,修改您的scheme以使用新configuration… select左侧栏中的运行 在“构buildconfiguration”下select新的configuration 试图再次build立 您也可以下载示例项目: http : //s000.tinyupload.com/?file_id=48797763216274271820 我正在运行Xcode 6.0.1(6A317)和Yosemite 10.10(14A361c)。

iOS:删除所有核心数据Swift

对于如何快速删除所有核心数据,我有点困惑。 我创build了一个IBAction链接的button。 点击button我有以下几点: let appDel: foodforteethAppDelegate = UIApplication.sharedApplication().delegate as foodforteethAppDelegate let context: NSManagedObjectContext = appDel.managedObjectContext 然后我搞砸了各种方法试图删除所有的核心数据内容,但我似乎无法得到它的工作。 我已经使用removeAll从存储数组中删除,但仍然不能从核心数据中删除。 我假设我需要某种types的循环,但不确定如何去请求。 我曾尝试应用删除单行的基本原则 func tableView(tableView: UITableView!, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath!) { let appDel: foodforteethAppDelegate = UIApplication.sharedApplication().delegate as foodforteethAppDelegate let context:NSManagedObjectContext = appDel.managedObjectContext if editingStyle == UITableViewCellEditingStyle.Delete { if let tv = tblTasks { context.deleteObject(myList[indexPath!.row] as NSManagedObject) myList.removeAtIndex(indexPath!.row) […]

Swift在大写“自我”和小写“自我”之间的区分

当我在斯威夫特的游乐场玩耍时,我注意到大写字母“S”的Self与小写字母一起可用。 他们之间有什么区别? 如果是这样,那么这两个用途是什么,特别是对于Self ?