是否可以使用变量动态更改代码中的类名称?

2024-02-28

我有这个功能:

- (NSString*) getId:(id)id_field withColumn:(int)test_column withTable:(NSString *) tableName  //renvoyer le label
{
    NSError *error = nil;
    NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
    NSEntityDescription *entity = [NSEntityDescription entityForName:tableName
                                              inManagedObjectContext:managedObjectContext];
    [fetchRequest setEntity:entity];
    NSArray *fetchedObjects = [managedObjectContext executeFetchRequest:fetchRequest error:&error];
    for (<tableName of class> *info in fetchedObjects)
    {
        if (test_column == LBL2_CLMN)
        {
            NSLog(@"info.id :%@", info.id);
            if ([info.id compare:id_field] == NSOrderedSame)
                NSLog(@"info.id :%@", info.label1);
            return info.label1;
        }
        else if (test_column == LBL1_CLMN)
        {
            if ([info.id compare:id_field] == NSOrderedSame)
                return info.label2;
        }
    }
    return @"";
}

如何更改班级名称使用变量 tableName 实例化 *info ?

是否可以 ?


不是直接的,而是自从executeFetchRequest回报NSManagedObject在重复循环中使用它并将对象转换为预期的类if - else scopes.

NSArray *fetchedObjects = [managedObjectContext executeFetchRequest:fetchRequest error:&error];
for (NSManagedObject *object in fetchedObjects)
{
    if (test_column == LBL2_CLMN)
    {
        ClassA *info = (ClassA *)object;
        NSLog(@"info.id :%@", info.id);
        if ([info.id compare:id_field] == NSOrderedSame) {
            NSLog(@"info.id :%@", info.label1);
            return info.label1;
        }
    }
    else if (test_column == LBL1_CLMN)
    {
        ClassB *info = (ClassB *)object;         
        if ([info.id compare:id_field] == NSOrderedSame)
            return info.label2;
    }
}
return @"";

我猜第二个缺少一对大括号if clause.

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

是否可以使用变量动态更改代码中的类名称? 的相关文章

  • 在 Swift 2.0 中隐藏 Home 指示器

    我希望隐藏 Home Indicator 虽然这在 Swift 中很简单 但在 SwiftUI 中似乎并不那么容易 我尝试使用这个 如何使用 SwiftUI 隐藏 home 指示器 https stackoverflow com quest
  • 关系上的核心数据属性?

    我刚刚开始使用核心数据 我有一个Headache实体和一个Medication实体 头痛和药物之间存在多对多的关系 当您加重头痛时 您可以选择多种药物 我希望能够指定这些药物的数量 我对 MySQL 更熟悉 您可以在其中创建一个数据透视表
  • 如何在变量名中使用变量

    所以我正在使用这样的 json 变量 opponentInvData item1 它包含项目 1 到 6 我需要动态访问不同的项目并将它们设置为空 itemNum 是我需要访问的特定项目 我正在尝试使用 eval 函数 var itemNu
  • iOS:启动图像多语言

    我有一个多语言应用程序 我的问题是启动图像 根据设备的语言使用启动图像的方法是什么 有什么东西在info plist file 解决方案是像项目中的任何其他资源一样本地化 Default png 从 Xcode 的项目列表中选择 Defau
  • 既然 Gradle 和 Maven 都弃用了 http,如何使用 Liferay Mobile SDK 6.2.18 生成 jar 库?

    在我当前的项目中 我们正在维护 开发使用客户网站 liferay 6 2 服务的移动 android iOS 应用程序 每当后端的人员生成新服务 或者只是将现有服务更新为具有新功能的新版本 时 我们需要使用 Liferay Mobile S
  • 以编程方式显示 UIView

    我试图 通过动画 显示 UIView 具体来说 我想显示视图的中心部分 然后慢慢地显示它的外边缘 有点像拉开窗帘 我的第一次尝试是简单地将边界矩形设置得更小 并将其动画化为视图框架的完整大小 但这没有达到预期的效果 因为通过更改边界 我也更
  • 更改 UITableView 中移动单元格的默认图标

    我需要更改 UITableView 中移动单元格的默认图标 这个 是否可以 这是一个非常棘手的解决方案 可能无法长期工作 但可能会给您一个起点 重新排序控制是UITableViewCellReorderControl 但这是一个私有类 因此
  • iOS 8 UITableView 分隔符插入 0 不起作用

    我有一个应用程序 其中UITableView的分隔符插入设置为自定义值 右0 Left 0 这完美地适用于iOS 7 x 但是在iOS 8 0我看到分隔符插入设置为默认值15在右侧 即使在 xib 文件中它设置为0 它仍然显示不正确 我该如
  • 如何在iOS应用程序中实现互斥锁[重复]

    这个问题在这里已经有答案了 可能的重复 GCD 如何从两个线程写入和读取变量 https stackoverflow com questions 11070947 gcd how to write and read to variable
  • 块执行后变量返回 null

    我正在调度一个队列来在单独的线程上下载一些 flickr 照片 在 viewWillAppear 中 当我记录块内数组的内容时 它完美地显示了所有内容 dispatch queue t photoDowonload dispatch que
  • 在哪里可以找到有关 IOS 日历同步的优秀教程? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在开发 iPhone 应用程序 如何将新事件与 iOS 日历同步 您可以浏览此 github 代码
  • 将深层链接传递到 iOS 模拟器?

    我想找到一种更简单的方法来在 iOS 模拟器中调用深层链接 在 Android 上 您可以使用 ADB 通过控制台将链接传输到模拟器中 是否有类似的方法或解决方法来打开最新 iOS 模拟器的深层链接 您可以在终端中输入以下内容 xcrun
  • 从 python 中的类调用函数 - 不同的方式

    EDIT2 谢谢大家的帮助 编辑 添加 staticmethod后 它可以工作 但是我仍然想知道为什么我在这里遇到类型错误 我刚刚开始使用 OOPS 并且对它完全陌生 我有一个非常基本的问题 关于从类中调用函数的不同方式 我有一个 test
  • 如果 UIGestureRecognizer 触发,如何取消按钮点击?

    更新 问题似乎是对另一个 GestureRecognizer 的依赖失败 请参阅此问题下面的评论和测试项目 在我的 iPhone 应用程序中 我有一个包含多个 UIButtons 作为子视图的视图 该视图还有一个 UITapGestureR
  • AWS MobileHub:重命名 Android / iOS 示例项目

    我是 AWS Mobilehub 的新手 我喜欢它允许我使用 AWS 配置选项创建项目 但是 当我尝试构建应用程序 ios swift android 时 它总是使用我的示例项目作为项目名称 在 AWS 项目的大多数配置设置中 例如使用 c
  • 如何使用 AutoLayout 使 UIView 向上滑动动画?

    this is what I like to achieve 我想执行向上滑动动画 用户可以向上滑动 UIView2 并且 UIView2 将在屏幕上停止一半 我知道如何通过 UIButton 操作以模态方式呈现 UIViewControl
  • .class 与 .java

    class 文件和 java 文件有什么区别 我正在尝试让我的小程序工作 但目前我只能在 Eclipse 中运行它 还不能嵌入 HTML 谢谢 编辑 那么如何使用 JVM 进行编译呢 class 文件是编译后的 java 文件 java 都
  • 如何在IOS中使用“*”字符进行呼叫(拨号)?

    我希望用 字符来调用 例如 gt 711313 目前 我正在使用这段代码 NSString str NSString stringWithFormat tel tmp UIApplication sharedApplication open
  • iOS 中的视频可以进行反卷积吗?

    我想拍摄击球手挥动棒球的镜头 但球棒很模糊 视频为 30 fps 通过研究 我发现反卷积似乎是最小化运动模糊的方法 但我不知道是否或如何在我的 iOS 应用程序后处理中实现它 我希望有人能给我指出正确的方向 比如如何在 iOS 中应用反卷积
  • 如何在 Swift 中解析蓝牙设备发送的浮点数?

    在我的 iOS 应用程序上 我需要解码蓝牙接收到的 Float 值 并从不同的设备 不是 iOS 获取 4 个字节 因此我需要一个 便携式 4 字节 Float 格式 目前发件人正在使用以下格式 数据编码 0xCCBBAAAEE 0xEE

随机推荐

  • 是否可以触发/绑定 jQuery UI 事件? [复制]

    这个问题在这里已经有答案了 可能的重复 jQuery AutoComplete 触发更改事件 https stackoverflow com questions 6431459 jquery autocomplete trigger cha
  • 按钮禁用和启用

    我有一个基于 vb net 的 Windows 应用程序 当单击 GO 按钮时 一堆数据将加载到数据库中 因此 在我的应用程序中 一旦单击 GO 按钮 我只想禁用它 并希望在上传完成后重新启用它 现在 在 btnGo Click 的特定方法
  • 如何在Java字符串中输入引号?

    我想在Java中初始化一个字符串 但是该字符串需要包含引号 例如 ROM 我尝试这样做 String value ROM 但这行不通 我怎样才能包括 s 在字符串中 在 Java 中 您可以使用转义引号 String value ROM
  • 使用 PHP 创建加密的 zip 存档

    我正在寻找一种将 txt 文件加密为 zip 的方法 但采用安全密码保护的方式 我的目标是通过电子邮件将此文件发送给我 而任何人都无法阅读附件的内容 有谁知道一种简单且最重要的是安全的方法来实现这一目标 我可以创建 zip 存档 但我不知道
  • 从命令行激活 gcloud 服务帐号时出错

    我指的是这个网址https cloud google com speech docs getting started https cloud google com speech docs getting started开始使用 google
  • Vue 不是构造函数

    I using webpack 在 chrome 中构建并运行后显示此错误 我不知道如何解决它 我的代码很简单 devDependencies babel core 6 23 1 babel loader 6 3 2 babel plugi
  • 将 XML 注释添加到 LINQ to SQL 设计器生成的类属性

    我使用 Visual Studio 中的 LINQ to SQL 设计器来创建数据库的对象模型 现在 我想向每个生成的属性添加 XML 注释 但我不知道如何在下次刷新 dbml 文件时不删除属性的情况下执行此操作 如何才能做到这一点 我相信
  • 无法从本地主机访问 Django

    这有点奇怪 我无法从本地主机访问 django 但我可以从本地 IP 访问它 python manage py runserver 0 0 0 0 8000 然后当我尝试访问时 我的主机文件 127 0 0 1 lmlicenses wip
  • -bash: ./configure: 没有这样的文件或目录 - MySQL 在 Mac OS X 10.6 上安装

    我正在尝试在 Mac OS X 10 6 上安装 MySQL 下载 MySQL 并使用 tar xzvf mysql 5 1 37 tar gz 解压后 我尝试运行此配置行 configure prefix usr local mysql
  • 使用 popen() 调用 shell 命令?

    当通过 xcode 运行以下代码时 我得到不一致的行为 有时它会正确打印 git 版本 有时它不会打印任何内容 但 shell 命令的返回码始终为 0 关于为什么会这样的任何想法吗 我究竟做错了什么 define BUFFER SIZE 2
  • UIRefreshController 结束动画问题

    当我呼唤self refreshControl endRefreshing 它将 tableView 像它应该的那样恢复到原来的位置 我应该如何对其进行动画处理 以便它能够流畅地返回到原来的位置endRefreshing Try this
  • UINavigationBar - 更改 UIBarButtonItem 位置

    我在我的应用程序中使用 UINavigationController 及其栏 现在我想更改 leftBarButtonItem 和 rightBarButtonItem 的位置 我希望它们位于不同的 x 和 y 位置 具有自定义的宽度和高度
  • 如何选择Eclipse界面语言?

    我安装了 Flash Builder Burrito 版本并将其添加为dropin到我的日食 现在所有的 Eclipse 界面都是法语的 我真诚地热爱我的国家 但是D boguer and 世代相传真的没有那么性感Debug and 构建路
  • 查一下X509Certificate2是否被撤销?

    我怎样才能知道是否X509Certificate2已被撤销 我假设Verify 方法检查它 但它没有在帮助中明确说明 有人知道吗 另外 Verify 是否检查证书是否过期 您是否尝试过使用X509链条 http msdn microsoft
  • 如何找到 Phabricator 对象的 PHID?

    我需要在 Phabricator 安装中获取一个项目和多个用户的 PHID 看来找出如何做到这一点应该是微不足道的 但我搜索了文档却无济于事 我是不是找错地方了还是怎么的 最简单的方法 前往项目 单击新建任务 查看 URL 它会有一个参数
  • C++ 中的 const 运算符重载问题

    我在使用 const 版本重载 operator 时遇到问题 include
  • C函数判断IP地址是否为多播地址

    如果用户输入一些IP地址 例如 239 4 4 4 我如何使用linux C中可用的任何函数确定该IP地址是多播的 IPv4 多播地址由最高有效位定义1110 so 如果IP地址存储为32位unsigned变量 应用 gt gt 28到变量
  • 如何使用 vb.net 比较字符串的百分比匹配?

    我用头撞墙有一段时间了 现在正在尝试不同的技术 它们都工作得不好 我有两根弦 我需要比较它们并获得准确的匹配百分比 IE 四分和七年前 TO 对于分数和七年前 好吧 我首先将每个单词与每个单词进行比较 跟踪每个命中 然后百分比 count
  • .NET 4 ISet<> HashSet<> 可以替代 NHibernate Iesi.Collections ISet 、 HashSet 吗?

    NET 4 ISet HashSet 可以替换 NHibernate Iesi Collections ISet HashSet 吗 我正在使用 Castle 代理和 NHibernate 3 0 是的 有两种方法 将您的收藏声明为ICol
  • 是否可以使用变量动态更改代码中的类名称?

    我有这个功能 NSString getId id id field withColumn int test column withTable NSString tableName renvoyer le label NSError erro