NSAssert未声明第一次使用为什么?

发布于 2024-11-27 01:53:31 字数 417 浏览 1 评论 0原文

我在 levelManager.m 中使用下面的代码从 plist 中读取值,但是当我制作存档上传到 itunes(AppStore)时,出现错误。为什么 ?

代码:

- (float)floatForProp:(NSString *)prop {
NSNumber * retval = (NSNumber *) [_curStage objectForKey:prop];
NSAssert (retval != nil, @"Couldn't find prop %@", prop);
return retval.floatValue;
}

错误:

NSAssert 未声明第一次使用

注意我注意到 xcode 认为我给出了 NSAssert 3 个参数而不是 2 个

i used the code below in the levelManager.m to read values from a plist but when I am making an Archive to upload to itunes (AppStore) I get an error. why ?

the code :

- (float)floatForProp:(NSString *)prop {
NSNumber * retval = (NSNumber *) [_curStage objectForKey:prop];
NSAssert (retval != nil, @"Couldn't find prop %@", prop);
return retval.floatValue;
}

the error:

NSAssert undeclared first use

Note I notice that xcode is thinking that I am giving NSAssert 3 parameters instead of 2

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

岁月染过的梦 2024-12-04 01:53:31

您可以使用其中一种 NSAssert 变体,在您的情况下 NSAssert1

#define NSAssert1(condition, desc, arg1)

所以:

#import <Foundation/Foundation.h>

- (float)floatForProp:(NSString *)prop
{
  NSNumber * retval = (NSNumber *) [_curStage objectForKey:prop];
  NSAssert1 (retval != nil, @"Couldn't find prop %@", prop);
  return retval.floatValue;
}

相关 感兴趣的帖子 和 Apple 的 断言和日志记录编程指南

You could use one of the NSAssert variants, in your case NSAssert1:

#define NSAssert1(condition, desc, arg1)

So:

#import <Foundation/Foundation.h>

- (float)floatForProp:(NSString *)prop
{
  NSNumber * retval = (NSNumber *) [_curStage objectForKey:prop];
  NSAssert1 (retval != nil, @"Couldn't find prop %@", prop);
  return retval.floatValue;
}

Related post of interest and Apple's Assertions and Logging Programming Guide.

月依秋水 2024-12-04 01:53:31

将其替换为

NSAssert (retval != nil, ([NSString stringWithFormat:@"Couldn't find prop %@", prop]));

Replace it with

NSAssert (retval != nil, ([NSString stringWithFormat:@"Couldn't find prop %@", prop]));
恰似旧人归 2024-12-04 01:53:31

如果您认为您给出了三个参数,请使用:

NSAssert (retval != nil, [NSString stringWithFormat:@"Couldn't find prop %@", prop]);

If you think its thinking you are giving three parameters, use this:

NSAssert (retval != nil, [NSString stringWithFormat:@"Couldn't find prop %@", prop]);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文