字符串比较 Objective-C

2024-03-28

我一直在努力进行简单的比较,但无法让它发挥作用。 我正在读取一个 XML 文件,我需要比较其中的数据才能显示正确的图片。

http://www.cleaner.se/larm.xml http://www.cleaner.se/larm.xml(解析示例文件)

我尝试过类似的事情:

if([aLarm.larmClass isEqualToString:@"A"])
    NSLog(@"same");
 else
    NSLog(@"Not same");

如果我使用:NSLog(aLarm.larmClass);控制台按其应有的方式很好地显示了它。我究竟做错了什么?


您可以使用 NSString Compare: 方法。例如:

if ([myString caseInsensitiveCompare:@"A"] == NSOrderedSame ) {
    NSLog(@"The same");
} else {
    NSLog(@"Not the same.");
}

结果是一个 NSComparisonResult,它只是一个类型为 NSOrderedSame、NSOrderedAscending 和 NSOrderedDescending 的枚举。

检查有关各种比较的文档:方法here http://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/NSString.html#//apple_ref/doc/uid/20000154-caseInsensitiveCompare_.

当然,如果接收者实际上是一个 NSString,那么 isEqualToString: 也应该起作用。因此,如果您尝试比较类名(aLarm.larmClass ??),那么您可以调用:

if ([NSStringFromClass([aLarm class]) isEqualToString:@"A"] ) {
    NSLog(@"The same");
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

字符串比较 Objective-C 的相关文章

  • 从 NSString 获取子字符串,直到到达特定单词

    假设我有这个NSString Country Address Tel number 我该如何获取之前的子字符串Tel 国家地址 然后我该如何获取后面的子字符串Tel 数字 使用 NSScanner NSString string Count
  • 存储和检索多维 NSMutableArray 的最佳方法是什么?

    我将一堆数据存储在 plist 文件 在应用程序文档文件夹中 中 其结构如下 Dictionary description String Value sections Array Array Number Number Array Numb
  • 一种简单、干净的方式来切换/交换视图?

    我已经看了几个来源 但我仍然很困惑 我想创建一个具有多个视图的应用程序 只有标准视图 没有表视图或其他任何内容 我可以在其中单击每个视图上的按钮来访问其他视图 我已经看到了多种方法来做到这一点 但对我来说唯一有意义的方法是让应用程序委托负责
  • UI键盘回避和自动布局

    鉴于 iOS 6 中对自动布局的关注以及 Apple 工程师的推荐 查看 WWDC 2012 视频 我们不再直接操作视图的框架 那么如何仅使用自动布局和 NSLayoutConstraint 来避免键盘呢 Update 这看起来是一个合理的
  • 在 xcode 4 中找不到 info.plist

    所以常规介绍 我是 Objective C 的新手 到处搜索但找不到 所以请帮忙 我想做的就是将我的应用程序设置为在后台获取位置更新 就是这样 我知道我应该在项目的 info plist 文件中将位置添加到 UIBackgroundMode
  • 在 ios wifi 网络上查找对等点

    我试图弄清楚如何搜索登录到 wifi 网络且在特定端口上托管应用程序的其他设备 在不知道这些其他设备的地址甚至不知道它们托管的端口的情况下 如何检测它们的存在 一旦发现 我应该能够联系该设备并与其建立连接 最标准的 iOS方式 是使用Bon
  • 为什么我的 x 轴在 iPhone 上不显示核心图?

    编辑 我认为我的问题更好地表述为 我怎样才能有一个不从零开始的 Y 轴 看起来 x 轴总是放置在 y 0 处 但我希望 x 轴位于 y 轴上的某个正数 这是一张包含更多常规数据的图表 我只是希望将 x 轴放置在绘图的最小 y 值 大约 77
  • 在 Objective-C iPad 开发中发布

    我正在尝试发出 POST 请求 但我似乎无法弄清楚出了什么问题 我从服务器收到响应 但我的电子邮件 密码对似乎没有正确发送 读取 由服务器 它告诉我不存在这样的帐户 这是我的代码 它包含在一个函数中 当用户按下我创建的 登录 按钮时调用该函
  • UIWebView stringByEvaluatingJavaScriptFromString 在后台

    在 iOS 应用程序中 我正在运行一个相当大的脚本UIWebView using stringByEvaluatingJavaScriptFromString 就 JavaScript 字符串的长度而言较大 调用 JavaScript 后会
  • iOS7 无法隐藏状态栏

    我刚刚将我的 iPhone 5 iOS 7 升级到了四个测试版 现在 当我在这台 iPhone 上通过 Xcode 5 运行我的应用程序时 状态栏不会隐藏 尽管它应该隐藏 不工作 UIApplication sharedApplicatio
  • 文档 Main.storyboard 需要 Xcode 8.0 或更高版本

    我下载了 Xcode beta 并打开了现有的项目 看看它如何与 Xcode 8 beta 一起使用 我从 Xcode 8 打开了 Storyboard 文件 现在 当我从 Xcode 7 3 打开项目时 我无法打开故事板文件 它给出了以下
  • 锁定时 AVAudioPlayer 在 iPhone 5 中不播放音频

    使用 AVAudioPlayer 我尝试在 iphone 播放器播放时播放声音 当设备锁定时也是如此 问题是 在 iPhone 4s ios 7 中 效果很好 但在带有 6 和 7 ios 的 iPhone 5 上没有任何反应 In the
  • NSPredicate 格式字符串不起作用

    在我的代码中 我想检查记录是否已存在 以便我知道是创建它还是更新它 但我遇到了一个问题 问题是当我使用这个时 NSPredicate pred NSPredicate predicateWithFormat ATTRIBUTE ID idN
  • Objective C - 动态属性的respondsToSelector

    我目前面临的问题是检查对象 NSManagedObject 的属性是否存在 不幸的是方法 MyObject class respondsToSelector selector myProperty 总是返回NO 我认为这是因为CoreDat
  • UICollectionView 装饰和补充视图无法移动

    In UICollectionView装饰和补充意见似乎是一个很大的谜团 目前似乎几乎没有示例代码 我设法让这两种类型在自定义布局中工作 请参阅此post https stackoverflow com questions 12810628
  • iOS图片上的线测量

    我需要一些帮助来开始绘制末端带有圆圈的线条 并测量其长度 我能够划清界限 但无法让它移动 花了几个小时决定在 SO 上发布 因此 请参阅下图并指导我开始 任何使用 Objective C 的示例或教程都会有帮助 谢谢 这个想法看起来实现起来
  • Objective-C 字符串文字的预处理器宏值

    我在构建设置中定义了一个预处理器宏 FOO BAR 我想将该值转换为可以传递给方法的 Objective C 字符串文字 以下 define 不起作用 但它应该展示我想要实现的目标 define FOOLITERAL FOO want FO
  • Cocoa - 在另一个 xib 上显示 xib

    谁能告诉我如何 或指导我有关信息 在另一个 xib 笔尖 上显示 xib 笔尖 我希望如何放置它 以便我可以以编程方式将它移动到主笔尖 就像这样 这显然不起作用 void drawRect NSRect dirtyRect NSRect c
  • 如何在iOS应用程序中实现信号量?

    是否可以在ios应用程序中实现计数信号量 对的 这是可能的 有很多可用的同步工具 同步 NSLock NS条件 NS条件锁 GCD 信号量 并行线程锁 我建议阅读 线程编程指南 http developer apple com librar
  • 在 Objective-C 中,逗号用作语句分隔符时有什么作用?

    我正在查看第三方的一些源代码 并且反复看到对我来说新的语法 基本上他们用逗号而不是分号分隔语句 它可以编译并运行 但我不明白它在做什么 看起来是这样 if url url release url nil 有时他们也会在不使用 if 的情况下

随机推荐

  • 为什么嵌套的 HTML 元素会让我的 CSS 跳转?

    这是一个谜题 基本页面 一个元素 http jsfiddle net PZj6t http jsfiddle net PZj6t HTML div div CSS body html height 100 margin 0 padding
  • 使用 COMMAw,d 转换数字

    我正在关注SAS 帮助页面 http support sas com documentation cdl en lrdict 64316 HTML default viewer htm a000200667 htm并试图获得与页面底部示例相
  • 测试 post 请求时 Django 消息中间件问题

    我正在尝试测试一个 UpdateView 它将一条消息添加到重定向的成功页面 看来我的问题来自messages因为 pytest 返回 django contrib messages api MessageFailure 如果不安装 dja
  • 计算文件中的字长

    所以我的函数应该打开一个文件并计算字长并给出输出 例如 许多 样本 txt 字长1 2 长度为 2 的单词 6 长度为 3 的单词 7 长度为 4 的单词 6 我的sample txt 文件包含 这是一个测试文件 1 个字的长度是多少 长度
  • 将 ProcessStartInfo.WorkingDirectory 设置为 UNC 路径

    我有一个用 VB net 编写的实用程序 它作为计划任务运行 它在内部调用另一个可执行文件 并且必须访问映射驱动器 显然 Windows 在用户未登录时访问映射驱动器的计划任务存在问题 即使向任务本身提供了身份验证凭据也是如此 好的 为了解
  • document.querySelector 获取包含括号的类名

    我正在编写的软件必须与我无法控制的第三方网络应用程序的 dom 配合使用 有些类名带有参数 例如class view box 200px 我猜这些类名是 Sass Less mixins arguments document querySe
  • 按文本而不是值对 Datagridview 的列进行排序

    我的 datagridview 中有一个列是组合框列 我希望它按其显示值 即文本 而不是其值 在本例中为数据库中的 int 列表 排序 我怎样才能做到这一点 您可以通过覆盖来做到这一点SortCompare事件于DataGridView w
  • Google App-Gmail 无法设置。通过 swiftmailer SMTP 传输 (PHP) 发送时 Gmail 替换地址

    您好 感谢您提前提供的任何帮助 我正在使用 swiftmailer SMTP 传输方法从我的 PHP 脚本发送电子邮件 发送消息就好了 有用 问题是 无论我将 FROM REPLYTO SENDER 设置为什么 电子邮件都会作为 GMAIL
  • Spring:具有自动装配依赖项的通用类

    我有一个标准的 Spring Boot MVC 应用程序 其中包含许多实体以及相应的存储库和服务 组件之间共享许多基础设施 因此我想将其抽象为通用类 我目前正在尝试实现这一目标的方式是这样的 仅显示传达想法的框架 interface Abs
  • CGAffineTransformMakeScale() 动画后扭曲视图框架

    我正在使用 theCGAffineTransformMakeScale 对视图进行动画处理 使其看起来像从屏幕中心生长一样 它在 iOS 8 beta 4 模拟器中运行良好 但在 7 1 版本中它会扭曲视图的框架 view alpha 0
  • 使用 UTF-8 的 getBytes() 不适用于大写德语变音符号

    为了开发我正在使用ResourceBundle直接从 IDE 中的资源目录读取 UTF 8 编码的属性文件 我在该文件的 Eclipse 文件属性中设置 native2ascii 用于生产 例如 menu file open label f
  • Android可取消启动画面

    我正在尝试按照以下规则创建一个具有横幅和取消按钮的启动页面 如果没有按下任何按钮 5 秒后转到主要活动 如果按下取消按钮 则立即转到主要活动 如果横幅被按下 则转到其他活动 My code public class BannerSplash
  • java.net.SocketException:打开的文件太多

    我有一个java应用程序 它运行得很好 在Ubuntu 10 04上 几个小时 直到它遇到 java net SocketException 打开文件太多 Sender java的代码可以找到here https code google c
  • 在 ansible shell 命令中使用 {{ 和 }}

    我的剧本里有这个 name Get facts about containers shell docker ps f name jenkins format raw Names endraw register container 请注意 我
  • Extjs4 在组合框中添加一个空选项

    我在 ExtJS4 中有一个带有此初始配置的组合框 xtype combobox name myCombo store MyStore editable false displayField name valueField id empty
  • 将 Hessian 矩阵定义为零

    在使用 scipy optimize minimize 和 trust constr 方法时 我得到了这个 UserWarning scipy optimize hessian update strategy py 187 UserWarn
  • 为什么 token.py 的存在会导致内置 help() 崩溃? [复制]

    这个问题在这里已经有答案了 作为一个爱好 学习项目 我正在用 Python 编写一个解析器生成器 我的一个代码文件名为 token py 其中包含几个用于将纯字符串转换为 Token 对象的类 我刚刚发现 在 Python 中使用控制台中的
  • ASPNETDB.MDF 文件未显示在 APP_DATA 中

    我正在了解 Microsoft 关于 MVC 2 表单身份验证的演练 http msdn microsoft com en us library ff398049 aspx http msdn microsoft com en us lib
  • 找不到 support-fragment.jar (com.android.support:support-fragment:27.0.2)

    我克隆了我的项目并使用 Android studio 打开 但构建失败并出现以下错误同一个项目对其他人来说运行良好 What went wrong Could not resolve all files for configuration
  • 字符串比较 Objective-C

    我一直在努力进行简单的比较 但无法让它发挥作用 我正在读取一个 XML 文件 我需要比较其中的数据才能显示正确的图片 http www cleaner se larm xml http www cleaner se larm xml 解析示