草庐IT

private_struct

全部标签

swift:如何将父类(super class)中的公共(public)方法覆盖为子类中的私有(private)方法

我有一个super类(class)classFather{publicfuncdoSomething(){}}我希望这个子类是classChild:Father{privateoverridefuncdoSomething(){}}但是Xcode是这么说的Overridinginstancemethodmustbeasaccessibleasthedeclarationitoverrides那么,如何将父类(superclass)中的公共(public)方法覆盖为子类中的私有(private)方法谢谢 最佳答案 你不能因为那样会违反

swift - 使用 NSTimer 调用私有(private)函数?

有没有办法让NSTimer在超时到期时调用privatefunc?(这有意义吗?NSTimer引用是类本地的,我不确定调用者在运行时的目标也是本地的。) 最佳答案 是的,你只需要标记函数@objc:@objcprivatefuncrunner(timer:NSTimer){然后它将响应选择器,但对Swift是私有(private)的。 关于swift-使用NSTimer调用私有(private)函数?,我们在StackOverflow上找到一个类似的问题: h

ios - AnyObject 与 Struct(任何)

我想为我的项目创建这样的方法:funcprint(obj:AnyObject){ifletrect=objas?CGRect{println(NSStringFromCGRect(rect))}elseifletsize=objas?CGSize{println(NSStringFromCGSize(size))}//...}但我不能,因为CGRect和CGSize是struct并且不符合AnyObject协议(protocol)。那么,关于如何做到这一点有什么想法吗? 最佳答案 使用Any而不是AnyObject。Swiftpro

swift - 为什么我需要在 Struct - Swift 中将可选值显式声明为 nil

引用自文档:Ifyourcustomtypehasastoredpropertythatislogicallyallowedtohave“novalue”—perhapsbecauseitsvaluecannotbesetduringinitialization,orbecauseitisallowedtohave“novalue”atsomelaterpoint—declarethepropertywithanoptionaltype.Propertiesofoptionaltypeareautomaticallyinitializedwithavalueofnil,indicati

ios - 使用swift 4访问扩展和另一个类中的fileprivate和private变量

我一直在浏览最近的swift文档,并研究了几个例子来理解swift4中的private和fileprivate关键字。我正在尝试访问同一类的扩展中的fileprivate和私有(private)变量以及该类的子类的另一个类,但输出没有结果。我正在以下列方式使用classprivateUsageExample:UIViewController{privatevarpriVar=falsefileprivatevarfPriVar=false}//usageofextensioninthesameclassextensionprivateUsageExample:UITextFieldDe

swift - 将 UnsafeMutablePointer<Void> 类型转换为 UnsafeMutablePointer<#Struct type#>

我在Swift中创建了一个名为RGB的结构,非常简单:structPixelRGB{varr:CUnsignedChar=0varg:CUnsignedChar=0varb:CUnsignedChar=0init(red:CUnsignedChar,green:CUnsignedChar,blue:CUnsignedChar){r=redg=greenb=blue}}我有一个指针varimageData:UnsafeMutablePointer!.我想为这个指针分配一些空间,但是malloc返回UnsafeMutablePointer我不能像下面这样转换它:imageData=mall

ios - 私有(private)函数 didFinishLaunchingWithOptions 没有被调用? ( swift 3)

didFinishLaunchingWithOptions不是应该在应用程序首次开始运行时调用吗?我在这个方法上设置了一个断点,当我在模拟器中运行应用程序时,断点没有被击中,这意味着该方法没有被调用。每当应用程序启动时,我都试图从UserDefaults加载一些数据,但它被完全忽略了。我注意到的一件事是默认情况下它是privatefunc而不是func。如果我去掉private,我会收到一条警告“在UIApplicationDelegate中有一个几乎相似的可选要求”。有人可以向我解释这意味着什么以及privatefunc是否与被忽略的方法有任何关系吗?当我在模拟器中运行我的应用程序时

ios - AlamofireObjectMapper/ObjectMapper是否支持struct类型映射

我正在使用AlamofireObjectMapper解析对我的对象的json响应。AlamofireObjectMapper是ObjectMapper的扩展.根据他们的文档,我的模型类必须符合Mappable协议(protocol)。例如:classForecast:Mappable{varday:String?vartemperature:Int?varconditions:String?requiredinit?(_map:Map){}funcmapping(map:Map){day为了符合Mappable协议(protocol),我的模型类必须为每个字段实现所需的初始化程序和映射

ios - 不使用桥接 header 访问私有(private) UIKit 函数

考虑私有(private)C函数_UICreateScreenUIImage,返回当前设备屏幕的UIImage快照:OBJC_EXTERNUIImage*_UICreateScreenUIImage(void)NS_RETURNS_RETAINED;我可以把它放在桥接头中,然后像这样在Swift中访问它:MyApp-Bridging-Header.h@importUIKit;UIImage*_UICreateScreenUIImage(void)NS_RETURNS_RETAINED;MyClass.swiftletimage=_UICreateScreenUIImage()print

ios - 这段代码如何快速找到 Struct 的内存对齐大小?为什么需要二元运算?

我正在研究MetaliOSSwift示例,试图理解他们建议的三重缓冲实践。这显示在统一动画的演示中。据我所知,对齐内存只是从一个特定的增量开始,该增量是设备真正喜欢的某个字节数的倍数。我的困惑是这行代码//The256bytealignedsizeofouruniformstructureletalignedUniformsSize=(MemoryLayout.size&~0xFF)+0x100他们用它来查找Uniforms结构的大小和字节。我很困惑为什么这里有二进制操作我真的不确定它们是做什么的。如果有帮助,这个对齐的大小用于创建这样的缓冲区。我相当确定buffer会自动分配字节对齐