0

このような文字列を自動生成したいcover.image_size (300x400)動的キー
image_size静的文字列300動的番号400動的番号



#defineを使いたい

#define WADImageSize(Key,Height,Width) (Key @".image_size" @"("Height @"x" Width@")")

NSLog(@" %@",WADImageSize(@"cover", @"300", @"400"));
Result will be like this **cover.image_size(300x400)**

これはうまくいきますが、「カバー」、「高さ」、「幅」に変数を使用したい

//#define DLogW(fmt,...) (fmt ## VA_ARGS ) のようなものを試していますが、何も機能しません..

NSLog(@" %@",WADImageSize(key, height, width));

助けはありますか?


4

2 に答える 2

1

定義は主に定数に使用されます。おそらく、このようなアプローチの方が良いでしょう。

-(NSString*)WADImageSizeWithKey:(NSString*)Key Height:(NSUInteger)Height Width:(NSUInteger)Width
{
    return [NSString stringWithFormat:@"%@.image_size(%ux%u)", Key, Height, Width];
}

また、定義をデバッグできないことも覚えておいてください。

于 2013-10-09T14:53:24.577 に答える
1

これを試してください(クリスタルボールのコード):

#define WADImageSize(Key, Height, Width) ([NSString stringWithFormat:@"%@.image_size(%dx%d)", Key, Height, Width])
于 2013-10-09T14:02:33.610 に答える