如何在Objective-C中创建一个以NSString stringWithFormat作为参数的方法?

时间:2010-12-09 09:59:11

标签: objective-c

我不确定标题是否可以理解。我想要的是制作一个像NSLog方法一样有效的方法并结合以下几行?

这就是我现在所拥有的:

NSString *out = [NSString stringWithFormat:@"something %d,%d",1,2];
[self showLog:out];

这样的方法在定义中会如何?

- (void) showLog:(NSString *) data;

谢谢

4 个答案:

答案 0 :(得分:7)

在界面中,

-(void) showLog: (NSString*) formatSpecifier, ...;

在实施中

-(void) showLog: (NSString*) formatSpecifier, ...
{
    va_list formatArgs;
    va_start(formatArgs, formatSpecifier);
    NSString* logMessage = [[NSString alloc] initWithFormat: formatSpecifier arguments: formatArgs];
    va_end(formatArgs);

    // Do want you need to to output the string.

    [logMessage release];
}

答案 1 :(得分:2)

答案 2 :(得分:1)

这样的东西?

NSString *out = [NSString stringWithFormat:@"something %d,%d",1,2];
[self showLog:out];

- (void)showLog:(NSString*)data{
     NSLog(@"%@", data);
}

如果您需要,请寻求更多帮助:)

如果我误解了您的需要,请随时澄清您的问题;)

祝你好运 克里斯蒂安

答案 3 :(得分:0)

如果你想创建一个以String作为参数的方法,那么使用这段代码它会对你有帮助。

#import <Foundation/Foundation.h>
@interface SampleClass:NSObject
  //Method declaration
- (void) functn:(NSString*)str;
@end

@implementation SampleClass
  //<<<<<<<<<<-- Function to print UserName -->>>>>>>>>>>>>>>
- (void)functn:(NSString*)str
  {
  NSLog(@"Your Name is %@",str);
  }
@end
int main ()
{
 SampleClass *sampleClass = [[SampleClass alloc]init];
 /* calling a method to get max value */
 NSString *yourName=@"Pir fahim shah";
 [sampleClass functn:yourName];
 return 0;
}