草庐IT

enums - 您什么时候会优先使用具有关联值的枚举而不是静态工厂?

在Swift中,您可以定义一个枚举并通过关联值为其赋予一个属性,例如:protocolSizeEnum{varlength:Double?{get}//Lengthshouldbe>=0-hastobeanOptionalforerrors}enumSizesEnum:SizeEnum{caseShort(length:Double)//0maxShortprivatestaticletmaxShort=1.0varlength:Double?{get{switchself{caselet.Short(length):iflength>=0&&lengthSizesEnum.maxSh

ios - 您如何快速访问用户联系人的电话号码?

这是我获取联系人姓名的代码,我将如何获取他们的电话号码?funccreateAddressBook()->Bool{ifself.addressBook!=nil{returntrue}varerr:Unmanaged?=nilletaddressBook:ABAddressBook?=ABAddressBookCreateWithOptions(nil,&err).takeRetainedValue()ifaddressBook==nil{println(err)self.addressBook=nilreturnfalse}self.addressBook=addressBookg

map - 您可以使用 map 创建没有包装器的实例吗?

在Python中,您可以将类的名称作为参数传递给map以创建该类的实例:classPoint(object):def__init__(self,(x,y)):self.x=xself.y=ycoords=[(1.,2.),(3.,4.)]pts=map(Point,coords)这通常被证明是一种方便的模式,所以我想在Swift中尝试同样的事情。首先,我们设置我们的Point类:importCocoaclassPoint{varx:Floatvary:Floatinit(x:Float,y:Float){self.x=xself.y=y}}varpt=Point(x:1,y:2)//w

objective-c - SwiftSupport 文件夹丢失。使用当前公共(public) (GM) 版本的 Xcode 重建您的应用程序并重新提交

我想在AppStore上提交应用程序,我的应用程序有快速语音SDK库,项目在ObjC中,每当我尝试上传我的构建时,我都会收到此错误,无效的Swift支持-SwiftSupport文件夹是失踪。使用当前公共(public)(GM)版本的Xcode重建您的应用程序并重新提交。DoingEmbeddedContentContainsSwiftCode->YESintargetsetting,不起作用。 最佳答案 如果您的项目有swiftclasses/library:,请确保以下设置如下:项目/目标设置->build设置1.Defines

ios - 您是否需要为应用程序中的每个 View Controller 创建一个单独的 .swift 文件?

这是一个非常初学者的问题,因为我是swift语言的新手并且正在开发我的第一个应用程序。我一直在默认的ViewController中工作,它允许我在ViewController.swift文件中创建socket。但是当我创建一个新的ViewController时,我无法将导出附加到ViewController.swift文件。那么我是否必须为添加到项目中的每个ViewController添加一个新的.swift文件? 最佳答案 你必须在Storyboard中为你的新Controller分配一个类(在.swift文件中),但你可以有多个

generics - 您能否扩展具有特定约束的通用类(例如 Array)?

我想扩展Array类,但仅限于符合SequenceType协议(protocol)的元素。我想写的代码/我认为合理的代码是:extensionArray{funcflatten()->[T.Generator.Element]{varresult=[T.Generator.Element]()//***[2]forseq:Tinself{//***[1]foreleminseq{result+=[elem]}}returnresult}}但是,Swift似乎创建了两个版本的T。我假设一个来自正常的Array声明,另一个来自对我的方法的尝试约束。特别是,这意味着第[1]行给出了可爱的错误

xcode - 您不能在此版本的 OS X 上使用屏幕保护程序

这是我当前的问题。我正在尝试创建一个屏幕保护程序,我所做的就是像这样设置背景颜色,publicoverridefuncdrawRect(rect:NSRect){super.drawRect(rect)letcolor=NSColor(red:0.33,green:0.78,blue:0.99,alpha:1)color.setFill()NSBezierPath.fillRect(rect)}相当直接。我还设置了EMBEDDED_CONTENT_CONTAINS_SWIFT=YES;现在,当我去安装.saver文件时,我返回一条消息说Youcannotusethescreensave

ios - 我如何编写一个 UI 测试来启动带有推送通知有效负载的应用程序并验证您是否被路由到正确的 View ?

我正在iOS应用程序中实现推送通知,在这样做的过程中,我想编写一个UI测试来验证应用程序在使用特定推送通知有效负载(即应用导航到正确的表格View并突出显示正确的单元格)。这能做到吗?我似乎找不到任何人以前做过这个或以前问过这个问题。感谢任何指点。 最佳答案 借助Xcode9,您现在可以在UITest中实际测试远程通知处理。我使用一个名为NWPusher的框架实现了它我写了很长blogpost关于我的实现并向github添加了一个演示项目.这是我所做的简短描述:准备将NWPusher添加到您的UITest目标(我使用Carthage

android - Fragments - 指定的 child 已经有一个 parent 。您必须先在 child 的 parent 上调用 removeView()

我收到此错误。我尝试了很多解决方案,但我无法解决这个问题。帮我!我需要使用fragment将表面View和按钮添加到Activity中。CamActivity.java:publicclassCamActivityextendsFragmentActivity{@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_cam);FragmentManagerfm=getSupportFragmen

android - Fragments - 指定的 child 已经有一个 parent 。您必须先在 child 的 parent 上调用 removeView()

我收到此错误。我尝试了很多解决方案,但我无法解决这个问题。帮我!我需要使用fragment将表面View和按钮添加到Activity中。CamActivity.java:publicclassCamActivityextendsFragmentActivity{@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_cam);FragmentManagerfm=getSupportFragmen