Cocoa - 从另一个可变参数方法调用可变参数方法(NSString stringWithFormat 调用)

2024-02-01

我有一个问题[NSString strigWithFormat:format]因为它返回一个 id,并且我有很多代码将 NSString var 更改为其他个人类型。但编译器不会阻止我在某些地方将 NSString 设置为另一种类型的对象。

所以我正在编写一个 NSString 类别,并将所有调用替换为stringWithFormat to myStringWithFormat.

代码是:

@interface NSString (NSStringPerso)
+ (NSString*) myStringWithFormat:(NSString *)format;
@end



@implementation NSString (NSStringPerso)
+ (NSString*) myStringWithFormat:(NSString *)format {
    return (NSString*)[NSString stringWithFormat:format];
}
@end

编译器告诉我“格式不是字符串文字,也没有格式参数”。

你有什么办法可以让这项工作发挥作用吗?


NSString包括一个从可变参数函数中获取参数列表的方法。看一下这个示例函数:

void print (NSString *format, ...) {
    va_list arguments;
    va_start(arguments, format);

    NSString *outout = [[NSString alloc] initWithFormat:format arguments:arguments];
    fputs([output UTF8String], stdout);
    [output release];

    va_end(arguments);
}

其中一些代码是不相关的,但关键行是NSString *output = [[NSString alloc] initWithformat:format arguments:arguments];。这就是你可以构建一个NSString在可变参数函数/方法中。


对于您的情况,您的代码应如下所示:

+ (NSString *)myStringWithFormat:(NSString *)format, ... {
    va_list arguments;
    va_start(arguments, format);

    NSString *formattedString = [[NSString alloc] initWithFormat:format arguments:arguments];
    va_end(arguments);

    // perform some modifications to formattedString

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

Cocoa - 从另一个可变参数方法调用可变参数方法(NSString stringWithFormat 调用) 的相关文章

  • Swift - 将图像从 URL 写入本地文件

    我学习 swift 的速度相当快 并且我正在尝试开发一个下载图像的 OS X 应用程序 我已经能够将要查找的 JSON 解析为 URL 数组 如下所示 func didReceiveAPIResults results NSArray pr
  • 具有同步功能的 iPhone 离线应用程序

    我正在考虑构建一个可以在离线状态下和在线状态下一样运行的应用程序 由于应用程序在离线状态下无法与服务器通信 因此需要进行某种程度的同步 在规划 iPhone 同步离线操作时 有哪些值得阅读和开始思考的好工具 与苹果已经提供的工具来帮助解决这
  • 什么时候需要 NSCopying?

    我知道如果您的对象将用作 NSDictionary 中的键 则需要它 还有其他类似的情况需要 NSCopying 吗 如果我认为我不需要我的模型对象符合 NSCopying 我可能是错的吗 将 NSCopying 协议视为克隆例程的 Obj
  • 向 UITextView 添加换行符

    我有一个UITextView这需要一个NSString带格式stringWithUTF8String 它从数据库获取其值 我希望数据库中的文本在文本中带有中断的情况下呈现 我尝试使用 n执行此操作 但它会呈现为文本 在应用程序的信息页面中以
  • 编译期间移动后检测使用情况?

    clang tidy 静态分析器检测移动后变量的使用 class a class std unique ptr
  • 检查 u 键是否被按下 Swift Cocoa [重复]

    这个问题在这里已经有答案了 我正在尝试检测是否U键是否被按下 如果是的话应该print BUT BUT 但我不确定如何检查不同的按键 因为按键的文档非常糟糕 我找到了带有键码的答案 但它们仅适用于 QWERTY 键盘 视图控制器 swift
  • wordpressfunctions.php - 为每个帖子类别使用不同的页面模板

    我想连接到 save post 函数 找出帖子所属的类别 然后为每个类别中的帖子分配不同的页面模板 我已经尝试了大约 30 个不同的版本 但都没有成功 有人可以帮我指出正确的方向吗 add action save post assign c
  • 将 NSWindow 的内容变灰

    我有一个NSWindow with 2 NSViews an NSSplitView和一个习惯NSView 访问数据以填充这些视图可能需要一些时间 在此期间 我想将这些视图的内容灰显 我的第一个方法是有一个黑色的第三个NSView覆盖另外2
  • 为什么 NSToolbarItem 自动被禁用?

    我的 Mac 幻灯片应用程序工具栏中的按钮有点问题 我希望在没有活动幻灯片时禁用这些按钮 在有活动幻灯片时启用这些按钮 为了实现这一点 我设置了按钮isEnabled财产给false在开始时 我已经尝试过 Interface Builder
  • Objective-C 继承中@synthesize/@property 的使用

    如果您有一个带有实例变量 foo 的类 A 该类具有 property synthesize 指令 并且类 B 继承自类 A 那么它是否还需要 property synthesize foo 我问的原因是因为当我尝试使用 B 类的 foo
  • 如何在 NSTextView 中使用 SPACE 而不是 TAB

    我只知道如何修改 NSTextView 中的制表符宽度 NSMutableParagraphStyle paragraphStyle self defaultParagraphStyle mutableCopy paragraphStyle
  • Cocoa - 捕获 NSStatusItem 鼠标悬停事件

    当用户的鼠标悬停在我的 NSStatusItem 上时 如何执行函数 如果您分配自定义NSView给你的NSStatusItem s view属性 您可以覆盖NSResponder方法mouseEntered mouseMoved and
  • NSNotificationCenter 为“观察者”和“对象”保留什么类型的引用?

    任何人都可以澄清 阐明有关情况 NSNotificationCenter addObserver selector name object 观察者 和 对象 参数的通知中心保留哪些类型的引用 从通知中心删除观察者的最佳实践是什么 多线程应用
  • 具有延迟 NSMenu 的 NSButton - Objective-C/Cocoa

    我想创建一个NSButton单击时会发送一个操作 但按下 1 或 2 秒时会显示 NSMenu 和这个问题完全一样here https stackoverflow com questions 3309030 how to create ns
  • 无法将项目添加到 NSMutableArray ivar

    我的目标是将字符串添加到数组中 并在我调用的方法中执行此操作 在这个方法中 我在数组中得到一个空值 但不知道为什么 我在课程开始时有这样的内容 NSMutableArray listOfEvents 以及我在每个事件上调用的方法 void
  • 在可可中将 NSMutableArray 写入文件时出现问题

    一个真正的初学者问题 我有一个 NSView 子类 在其中创建一个包含 NSValues 的 NSMutableArray 当我想使用 writetofile atomatically 将数组写入文件时 文件已创建 但它不包含可变数组所包含
  • 如何使用 iPhone 将照片上传到服务器?

    我正在编写一个 iPhone 应用程序 它可以拍摄照片然后将其上传到服务器 如何使用 Cocoa 将照片上传到服务器 我想我在某处使用 NSUrl Thanks Header interface EPUploader NSObject NS
  • NSTextField 字体样式在选择时重置

    Context 在 Interface Builder 中 我有一个不可编辑的标签 NSTextField 标签的内容是使用 Cocoa Bindings 创建的 绑定的值是NSAttributedString 使用数值转换器创建 看图片
  • Cocoa 应用程序菜单栏不可点击

    我正在我的可可应用程序中构建一个菜单栏 其中包含以下代码 implementation我的自定义应用程序CustomApplication void setUpMenuBar CustomApplication sharedApplicat
  • 将 NSString 限制为数字以及 #(如果输入字符)。 (包含代码)

    我已经在网站上搜索了我的答案 但我认为这也是我陷入这个问题的原因 我试图将我的第 1 个且唯一的文本字段限制为 10 个字符且仅包含数字 下面的代码主要来自该网站上的其他问题 我想做的是将这些代码混搭在一起以满足我的限制 BOOL text

随机推荐

  • 如何通过 Alchemy gcc 编译 ffmpeg?

    所以我创建了ffmpeg配置文件 使其成为纯C 平台无关 但只是理论上 所以我的配置很简单 0 6 1 0 6 3测试过 configure disable doc disable ffplay disable ffprobe disabl
  • CSS 网格布局最大内容在 Firefox 中无法按预期工作

    我使用 CSS 网格布局来创建页面的基本布局 并且我最初是在 Chrome 中工作的 我现在也在 Firefox 中对此进行了测试 并注意到一些我不理解的行为 并且似乎不符合我所理解的规范 我创建了一个显示该行为的简化示例 问题是搜索标题
  • Android 和 CommaTokenizer

    我需要一个 Tokenizer 用于 AutoCompleteTextview 它可以执行以下操作 当两个单词以空白字符分隔时 必须按原样进行识别 当用换行符分隔时 两个单词也必须被识别 按下 Enter 键 1 正在工作 但我怎样才能完成
  • laravel - 无法在控制器构造函数中获取会话

    在新的 Laravel 中 我无法在构造函数中获取会话 为什么 public function construct dd Session all this is empty array 然后下面 public function index
  • HTTP:200 OK 状态代码后回复期间出错

    作为 HTTP 1 1 服务器 我使用 200 OK 状态代码回复 GET 请求 然后开始将数据发送到客户端 在此发送过程中 发生错误 我无法完成 我无法发送新的状态代码 因为最终状态代码已发送 我应该如何让客户端知道发生了错误并且我无法继
  • 如何在 Python 3.x 中禁用 chrome webdriver 上的调试器?

    有人知道如何在 Python 3 6 中禁用 chrome webdriver 中的调试器 日志记录吗 我正在尝试遵循代码 但它不起作用 chrome options webdriver ChromeOptions chrome optio
  • 如何根据测试用例结果运行SoapUI中的指定步骤

    我在soapui中有一个项目 有更多的测试用例 运行每个测试用例后 我需要运行两个 http 请求之一 具体取决于步骤的结果 因此 如果测试用例中的一个或多个步骤失败 我需要运行 httprequest1 如果所有步骤都通过 我需要运行 h
  • 在andengine中使用Texture Packer加载动画

    我使用纹理打包器 我有 pvr ccz文件有10帧 我需要创建一个AnimatedSprite使用此动画 但 TexturePacker 扩展仅返回TextureRegion files 我怎样才能创造TiledTextureRegion从
  • CakePHP,从模型查询

    如何在 CakePHP 中执行 SQL 查询 我想做一些像这样的代码 employees this gt Employee gt find all 但介绍一下我自己的SQL语句 将执行 SQL 语句的函数插入模型中 public funct
  • VBA查找函数获取错误424需要对象[重复]

    这个问题在这里已经有答案了 我有代码获取错误 424 需要对象 lr Range O O Cells Rows Count 1 End xlUp Row For y 0 To UBound myVariable a myVariable y
  • 如何在 Netbeans 中向 Undecorated JFrame 添加阴影

    我想向 Undecorated jFrame 添加阴影 我不知道该怎么做 有人知道吗 这有点 作弊 这不会在窗口后面产生阴影 而是在内容后面产生阴影 这种方法不仅使窗口不被装饰 而且变得透明 替换的 内容窗格 被部分填充 允许阴影效果 出现
  • C# Winforms,将父对象分配给新的子对象,而不是实例化表单

    我有一个带有两个子窗体的 MDI 容器 我们被教导 MSDN 文档只给出了示例 使用关键字 this 它假设所讨论的子对象是从 MDI 容器本身创建的 如果我在 MDI 容器中创建对象 则这是正确的 Form Child2 child ne
  • 类型错误:stripe.redirectToCheckout 不是 nuxt.js 中的函数

    我正在尝试集成条纹支付网关 我有一个用于前端的 nuxt js 和一个用于后端的 adonis js 我从前端调用 api 到后端来创建checkoutSession并返回sessionID 我能够创造checkoutSession并返回s
  • 如何在matplotlib中的不同图形中使用不同颜色图显示图像?

    我想在不同的图形中使用不同的颜色贴图显示图像 以下代码使用两个不同的窗口但具有相同的颜色图显示图像 import scipy misc from pylab import a scipy misc imread lena jpg figur
  • Objective-c 上的大整数

    任何人都可以提供代码BigInteger http docs oracle com javase 8 docs api java math BigInteger htmlObjective C 中提供 PowMod 函数的实现 我希望现在回
  • 如何在 Ruby 中实现 Pubnub 存在功能

    我想知道如何在 Rails 应用程序中使用 PubNub 实现用户存在 但我没有找到有关如何在服务器端和客户端实现此功能的完整指南 使用 Ruby 和 JavaScript 实现 PubNub 存在 按照这个连接两个 PubNub SDK
  • CGContextSetBaseCTM 无效上下文 0x0

    我目前正在开发一个 Java 应用程序 由于我没有OSX我已经从该应用程序所在的论坛 社区中寻求了一些人的帮助 但是在启动应用程序时会出现此错误OSX Oct 5 15 26 58 macbook pro local java 2384
  • JSTL .tld 文件在哪里?

    我已经下载了jstl 1 1 2 jar http repo1 maven org maven2 jstl jstl 1 1 2 jstl 1 1 2 jar来自 Maven 存储库 我希望 jar 包含标签的 tld 文件 但事实并非如此
  • 对facet_grid 图的所有方面强制启用X 轴文本

    我有同样的问题该用户 https stackoverflow com questions 10913840 force x axis on both graphs in a facet grid when x values are the
  • Cocoa - 从另一个可变参数方法调用可变参数方法(NSString stringWithFormat 调用)

    我有一个问题 NSString strigWithFormat format 因为它返回一个 id 并且我有很多代码将 NSString var 更改为其他个人类型 但编译器不会阻止我在某些地方将 NSString 设置为另一种类型的对象