草庐IT

ios - 我如何将这个 typedef enum 从 objective c 写到 swift?

下面,我有用于tinder风格动画效果的objective-c代码,灵感来自-https://github.com/ngutman/TinderLikeAnimations/tree/master/TinderLikeAnimations.objective-ctypedefNS_ENUM(NSUInteger,GGOverlayViewMode){GGOverlayViewModeLeft,GGOverlayViewModeRight};-(void)setMode:(GGOverlayViewMode)mode{if(_mode==mode)return;_mode=mode;if

objective-c - 在 Swift 项目中使用 Objective-C 中声明的 NS_Option 枚举

我在ObjectiveC中声明了枚举NS_OPTIONtypedefNS_OPTIONS(NSUInteger,PHRendererType){PHRendererTypeSampleBuffer,PHRendererTypeOpenGLES,PHRendererTypeQuartz};但是,当我尝试通过调用在Swift项目中使用时。ifrendererType==.PHRendererTypeSampleBuffer{}它无法编译并出现错误:没有更多上下文,表达式类型不明确。我也访问过这个话题Swift:TroubleUsingEnumsDeclaredinObjective-C,I

swift 2 : Is there any way to use 'default' in the switch statement of enum with associated values?

我有一个递归枚举,其中大多数情况具有相同类型的关联值:indirectenumLocation{caseTitle(String?)caseRegion(Location)caseArea(Location,Location)caseCity(Location,Location)caseSettlement(Location,Location)caseStreet(Location,Location)caseHouse(Location,Location)}我想做的是形成一个漂亮的字符串描述,其中将包括所有非零标题。funcgetStringFromLocation(location:

objective-c - 在 Swift 中覆盖 NS*** 方法

为NSLocalizedString提供后备语言,我在Objective-C中使用了#undef和#define:#undefNSLocalizedString#defineNSLocalizedString(key,comment)@"NSLocalizedStringhasbeenreplaced";如果从Objective-C调用,这会工作得很好,但如果从Swift调用,NSLocalizedString的新定义将被忽略。(桥接接头已正确配置且有效)这在Swift中是否可行,如果可行,如何实现?注意:真实例子是hereonGithub,另见SOanswerhere

ios - 当 func 中的归档对象编码时(使用 aCoder : NSCoder) method crashed with swift enum in real revice

在我的singleton类中,我有一个swift枚举:importUIKitenumUserType{caseterant//casenormalUser//casenormalUserFinancialer//}@objc(UserStaticSwift)classUserStaticSwift:NSObject,NSCoding{报告的错误:使用控制台日志:libc++abi.dylib:terminatingwithuncaughtexceptionoftypeNSException在编码中:funcencode(withaCoder:NSCoder){aCoder.encode

自定义类型的 Swift Enum 符合哈希协议(protocol)

我有一个这样的枚举:enumAnimals{caseCow(MyCowClass)caseBird(MyBirdClass)casePig(MyPigClass)caseChicken(MyChickenClass)}每种类型都符合哈希协议(protocol)。然后这个枚举成为另一个类的属性:classFarm{letname="Bob'sFarm"varanimal=Animalsrequiredinit(animal:Animals){self.animal=animal}我想从案例实例中获取散列值并将其用于枚举,这样我就可以使用名称和动物使Farm类可散列。

xcode - NS任务 : Couldn't posix_spawn: error 13 when launching app

我的主Swift应用程序中有一个子应用程序。我做到了,因此在构建它时它会自动复制到主应用程序的Resources文件夹中。这样,我希望能够从主应用程序启动子应用程序的实例。问题是,我遇到了一个很难调试/找到答案的错误。这是我的代码:letargs=["--args","-admin_url",site.url,"-login",site.login,"-pass",site.password]lethelperPath=(NSBundle.mainBundle().pathForResource("AppHelper",ofType:"app"))!lettask=NSTask.ini

ios - NS_UNAVAILABLE 的 Swift 等价物是什么?

在Objective-C中,我们可以将某些方法标记为NS_UNAVAILABLE,这意味着如果尝试调用它们,我们将得到编译器级别的错误。当子类想要减少它继承的父类(superclass)的api的范围时,这会很有用。例如,一个新的UIView子类可能希望强制它必须通过nib创建,因此可能将initWithFrame标记为不可用。Swift有@available标记,但有没有一种简单的方法来标记方法不可用,类似于Objective-C中的NS_UNAVAILABLE? 最佳答案 您可以通过将函数标记为@available(*,unav

swift : Enum 'cannot be constructed because it has no accessible initializers'

我很快就得到了这个错误'BlockColor'cannotbeconstructedbecauseithasnoaccessibleinitializersimportFoundationimportSpriteKitletNumberOfColors:UInt32=6enumBlockColor:Int,Printable{caseBlue=0,Orange,Purple,Red,Teal,YellowvarspriteName:String{switchself{case.Blue:return"blue"case.Orange:return"orange"case.Purple:

swift - 如何在 Swift 3 中访问传递的 Enum 参数

我在访问通过枚举传递的参数时遇到了一些问题。通用RequestType,更多会被包含enumRequestType{caseflagging(api:FlaggingRequestType)}这是我的枚举,它接受另一个FlaggingRequestType(另一个接受字符串参数的枚举)enumFlaggingRequestType{casegetFlag(api:String)}protocolRequestable{varrequestType:RequestType{getset}}在这里我构建了我的标记请求letflaggingRequest=RequestBuilder.bui