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;
}

エラー:

NSAsert 宣言されていない最初の使用

xcode は、NSAssert に 2 つではなく 3 つのパラメーターを与えていると考えていることに注意してください。

4

3 に答える 3

2

NSAssertあなたの場合、バリアントの1つを使用できます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 のAssertions and Logging Programming Guide

于 2011-07-29T08:12:09.777 に答える
1

に置き換えます

NSAssert (retval != nil, ([NSString stringWithFormat:@"Couldn't find prop %@", prop]));
于 2011-07-29T08:15:40.527 に答える
0

あなたが3つのパラメータを与えていると思うなら、これを使ってください:

NSAssert (retval != nil, [NSString stringWithFormat:@"Couldn't find prop %@", prop]);
于 2011-07-29T07:55:09.060 に答える