从一个类访问另一个类的结构

2023-12-14

是否可以从另一个类访问结构?

ex:

class A{
    struct structOfClassA {
        func returnLetterA () -> String{
            return "a"
        }
    }
}

class B{
    let classA = A()

    init(){
        classA.structOfClassA.returnLetterA // this is what I want to achieve
    }
}

如何从 Class B() 中的 Class A() 访问结构体?

有解决方法吗?

谢谢你!


班级结构A定义了一个type(可以在类范围内使用A),但你需要一个instance它能够调用结构体的成员函数。例如。:

class A {
    struct StructOfClassA {
        func returnLetterA() -> String{
            return "a"
        }
    }

    var structOfClassA = StructOfClassA() 
        /* Instance of 'StructOfClassA' structure type */
}

class B {
    let classA = A()

    init() {
        let myLetter = classA.structOfClassA.returnLetterA()
        print(myLetter)
    }
}

var myB = B() // prints "a"

或者,你可以让B是一个子类A,这使您可以访问type StructOfClassA来自超类,在这种情况下您可以创建一个instance of StructOfClassA并访问它的方法returnLetterA():

class A {
    class StructOfClassA {
        func returnLetterA() -> String{
            return "a"
        }
    }
}

class B : A {
    let classA = A()

    override init() {
        let myLetter = StructOfClassA().returnLetterA()
        print(myLetter)
    }
}

var myB = B() // prints "a"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从一个类访问另一个类的结构 的相关文章

  • Swift 单元测试 - 如何断言 CGColor 是它应该的样子?

    使用 Xcode V7 2 尝试进行单元测试 需要验证是否已设置正确的颜色 并收到以下消息 Cannot invoke XCTAssertEqual with an argument list of type CGColor CGColor
  • UITextfield 键盘只有字母,没有数字,没有大写字母,没有空格键?

    我希望 UITextfield 的键盘只有 a z 没有数字 没有特殊字符 并且没有大写字母 基本上我想要一个只有字母的键盘 我已经能够禁用该空间了 有人知道如何禁用数字 特殊字符和大写字母吗 解决这些问题中的任何一个都很棒 对所有角色执行
  • didRegisterForRemoteNotificationsWithDeviceToken 停止被调用 [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我正在测试我的应用程序是否使用 Push Notifs 一整天都好好的 突然就不行了 设置完全没有变化 经过更多调试后 我发现该函
  • SwiftUI 导航:如何将详细信息视图切换到不同的项目?

    我正在努力实现以下导航行为 用户可以从列表中选择一个项目 该项目会触发该项目的详细信息视图 在此详细视图上 导航栏中有一个 添加 按钮 可打开用于添加其他项目的模式表 到目前为止 一切都按预期进行 但添加项目后 我希望详细视图显示新项目 我
  • 如何在 Swift 中退出“DispatchQueue.main.asyncAfter”

    我想在调用 deinit 时退出 DispatchQueue main asyncAfter 子视图 swift DispatchQueue main asyncAfter deadline now 5 0 self doSomething
  • Alamofire 仅在 GET 请求上出现请求错误

    我正在努力将我的项目从 AFNetworking 转移到 Alamofire 真的很喜欢这个项目 POST 请求工作得很好 但是 我在尝试发出 GET 请求时收到此错误 这是一些示例代码 class func listCloudCrednt
  • 排除 Realm 模型类

    我的应用程序中配置了两个领域文件 我想存储我的Log将模型与其他模型分开保存为单独的文件 我的问题是我也看到了我的Log我不想要的默认 Realm 文件中的模型类 如何从给定的 Realm 文件中排除特定的模型类 我使用主 Realm 文件
  • 可以转换为 Swift 5

    我在 Xcode 10 2 中收到此警告 可以转换为 Swift 5 当我单击此错误时 它会打开此窗口 当我们点击Next会发生什么 swift 的当前版本是 swift5 仅在 Xcode 10 2 中受支持 而您在 Xcode 10 2
  • 如何从子 UICollectionview 内部获取 UITableView 的一部分

    我有一个UITableView with a UICollectionView在其每一行中 如下图所示 source https ashfurrow com blog putting a uicollectionview in a uita
  • 如何在 Swift 4 中以编程方式将 IBAction 添加到 uibutton?

    如何以编程方式将 IBAction 添加到 uibutton button addTarget self action Selector buttonAction for touchUpInside func buttonAction se
  • 将 NSDate 转换为 SWIFT 中具有特定时区的字符串

    在我的核心数据库中 我有一个带有 NSDate 属性的 新闻 实体 我的应用程序遍布全球 新闻已发布2015 09 04 22 15 54 0000法国时间 GMT 2 为了保存日期 我将其转换为 UTC 格式 let mydateForm
  • 如何过滤掉数组的数组

    您好 我有一个包含多个值的数组 我想尝试过滤掉搜索栏的索引 英语术语的一个例子是这样的 给我名称 Name2 的索引 并通过检查每个索引的第一个值中的所有字符串来执行此操作 Code Multiple Errors var received
  • 如何修复C风格的for语句?

    什么是正确的修复方法C 风格的 for 语句对于下面发布的代码 目前我正在交战 C 风格的 for 语句已弃用 并将在将来删除 斯威夫特的版本 var ifaddr UnsafeMutablePointer
  • iOS 上每个选项的带有图像的操作表

    有没有办法在 iOS 上将图像添加到操作表中 与苹果在应用程序商店或苹果音乐应用程序上所做的一样 我对苹果文档的基本搜索表明我没有在操作表中子类化或添加子视图 UIActionSheet 并非设计为子类化 也不应向其层次结构添加视图 苹果文
  • macOS 应用程序中还需要 Swift 的嵌入式 dylib吗?

    Swift 5 发行说明说 对于运行 iOS 12 2 watchOS 5 2 和 tvOS 12 2 的设备 Swift 应用程序不再在构建变体中包含 Swift 标准库和 Swift SDK 覆盖的动态链接库 但在同一上下文中没有提及
  • 如何在 Swift 中使用 CGFloat?

    var posinonY Float Float y Float pipeDown size height Float verticalPipeGap pipeDown position CGPointMake 0 0 Float posi
  • 新的 FUITableViewDataSource - 如何使用?雨燕3

    刚刚更新到较新的 FirebaseUI Pod 有些事情发生了变化 但其中最大的变化之一是 FUI 表视图的工作方式 我让它在旧版本上运行良好 但在下面遇到了困难 并且缺乏文档 示例 self dataSource FUITableView
  • 在 Swift 中检查一个数组是否包含另一个数组的所有元素

    我想为数组编写一个扩展来检查一个数组是否包含另一个数组的所有元素 在我的用例中它是字符串对象 但我一直得到 Cannot convert value of type T Generator Element to expected argum
  • 如何在 EKRecurrenceRule 中设置一周中某一天的数组?

    我想在用户选择的特定日期每周添加事件 可以是一个或多个 也可以是一整天 我将用户选择的日期值存储在模型类变量中 但是 当我添加事件并选择日期时 假设今天是星期一 我选择星期二和星期三并保存 然后我查看周一和周三添加的 iPhone 日历 我
  • 当设置 setVisibleXRangeMaximum 时,iOS-Charts X 轴值无限重复

    我正在尝试绘制一个图表 其中 x 轴是TimeIntervalY 轴是power consumption 由于每天都会有数据 因此将有太多数据无法显示 因此 我想一次显示 5 个值 我通过设置实现了这一点self chart setVisi

随机推荐

  • 无法在某些 Android 手机上使用 SmsManager 发送短信

    我的移动应用程序偶尔会发送短信 在大多数手机上一切正常 但我开始收到一些用户发来的电子邮件 说明消息不会发出 这是我正在使用的代码 SmsManager sms SmsManager getDefault sms sendTextMessa
  • 更新:根据文件扩展名将文件从一个文件夹移动到另一个文件夹

    情况 我正在进行自动化操作 只需从一组文件中下载 CSV 文件 现在我只想将 CSV 文件从一个文件夹移动到另一个文件夹 问题 您能否向我提供代码 以便在移动文件后立即从源文件夹中删除文件 到目前为止 这是我的代码 public class
  • 当它用作自动热键中的热键时,如何将字母本身发送

    例如 我想按 v 通过自动热键获取 asdfv 但是当我定义如下时 v 发送 asdfv 脚本运行到无限循环 因为最后一个 v 被覆盖为快捷方式 所以问题是 我怎样才能得到我想要的东西 两种方式 UseHook On v send asdf
  • 在 UILabel/UITextView 中触摸单词

    我想做的是创建一个文本容器组件 该组件能够在触摸时指示最近的单词是什么 即触摸点 后面 的单词 首先 我创建了一个 UILabel 子类并重写 TouchesEnded withEvent 方法来确定触摸的 CGPoint 我还编写了一个方
  • 使用像 Spinner 这样的 jquery 增加文本输入的值

    尝试使用 Jquery 创建一个简单的旋转效果 即两个带有文本字段的按钮 向上和向下 向上按钮增加值 向下按钮减小值 增加步数 或 1 任何建议 如 ui spinner 都是最明确的 不工作 我是 jquery 新手 一定是这样的 up
  • 三星 Galaxy SIII 的相机是否存在缺陷?

    我使用以下代码启动相机 但是 有 3 4 的时间 照片没有保存到内存中 这种情况仅发生在 Galaxy SIII 上 它适用于 Nexus S 和 Nexus One public void photoNew holdingImage ge
  • 警告:内置函数“strlen”和“strcpy”的隐式声明不兼容[重复]

    这个问题在这里已经有答案了 我刚刚完成了我的刽子手游戏 作为最后一步 我正在进行一些代码清理和优化 但我似乎无法理解为什么我收到以下两个警告 警告 内置函数 strlen 的隐式声明不兼容 警告 内置函数 strcpy 的隐式声明不兼容 使
  • 如何退出独立模式或编辑器模式

    我在 Windows 10 64 位上使用 unity 5 4 1f1 Personal 我将解释我所做的所有步骤以及迄今为止我尝试过的所有事情 我第一次使用原始代码创建了一个新的 c 文件 现在 当我按 Escape 键时 它将返回编辑器
  • 内有较长任务的角间隔管道

    我的组件中有这段代码 ngOnInit this counterValue interval 1000 pipe switchMap gt this perfService getCounter this counterUrl map i
  • 为什么 $ra 被调用者保存在 RISC-V 中

    我发现在 RISC V 中 ra调用者是否已保存 以 MIPS 为单位 ra是被调用者 这意味着在 RISC V 中被调用者可以直接更改ra没有保存 但自从ra已经改变了 被调用者如何返回调用者 无论名称如何 RISC V ra 和 MIP
  • NSTimer 在 iPhone 中关闭应用程序后继续计数

    我有一个计时器 最多可以计时 8 小时 28800 秒 之后它应该被释放 我想知道如何让计时器在后台运行和 或在应用程序关闭时保持运行 这是 NSTimer stopWatchTimer NSTimer scheduledTimerWith
  • 如何在构建另一个容器期间填充 Mysql docker 容器?

    我正在尝试构建一个 docker compose 文件 该文件自动为我的应用程序构建一个容器和一个存储所有数据的 mysql 容器 在我的应用程序的 dockerfile 中 我有一个脚本 用于设置应用程序运行所需的所有数据库表和预设值 是
  • 将最近 7 天的 Windows 事件导出到 evt 文件

    很难相信我只花了一个小时在网上搜索 却找不到一个看似简单的请求的答案 我想要做的就是获取最近 7 天的 Windows 系统和应用程序事件 并将每个事件作为 evt 格式的文件导出到特定文件夹 所以不是 csv 或 xml 有没有一种简单的
  • 使用 AJAX - WooCommerce API 将变体添加到购物车?

    我有一个包含以下数据的项目 var item id 124 name xxx price 13 13 quantity 1 options size xl color pink 当用户单击 添加到购物车 时 我想使用 WC API 发出 A
  • 如果超过 12 列自动换行,我们真的需要关闭它吗?

    我已经使用 Bootstrap 一段时间了 特别是版本 3 并且注意到我仍然不确定是否应该始终在每 12 列之后关闭带有 row 类的列 或者我可以等待并在我的代码末尾应用该结束 row 只要据我所知 任何在单行中加起来超过 12 列的列都
  • 将 STUFF 与 INNER JOIN 查询结合使用

    我的数据库中有三个表 产品表 类型表和名为 Prod Type 的映射表 我的数据库是sql server 这就是为什么我不能使用group concat函数而我正在使用Stuff函数 我的表结构如下 产品表 Prod ID Name Br
  • Eclipse 构建路径不可用

    The build path option is not available when I right clicked on one of the the jars I wanted to include Anybody knows why
  • git 分支名称中的 Powershell 和德语变音符号

    我编写了一个批处理文件 它使用 powershell 命令删除除要保留的分支之外的所有本地 git 分支 如果分支名称中使用了德语变音符号 则不起作用 切换到分支 master 您的分支是最新的 origin master 已删除分支 DE
  • 如何使用 javascript 检索数组中 17 textBox 的值

    我写了下面的代码 太长了 我想要一些更短的代码 b 0 parseInt document getElementById textbox1 value b 1 parseInt document getElementById textbox
  • 从一个类访问另一个类的结构

    是否可以从另一个类访问结构 ex class A struct structOfClassA func returnLetterA gt String return a class B let classA A init classA st