Как создать метод в Objective-C, который принимает NSString stringWithFormat в качестве параметра? - PullRequest
3 голосов
/ 09 декабря 2010

Я не уверен, что заголовок понятен.Я хочу создать удобный метод, который работает как метод NSLog и сочетает в себе строки нижеэто похоже на определение?

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

Спасибо

Ответы [ 4 ]

7 голосов
/ 09 декабря 2010

В интерфейсе

-(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];
}
2 голосов
/ 09 декабря 2010
1 голос
/ 09 декабря 2010

Как то так?

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

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

Просто попросите дополнительную помощь, если она вам нужна:)

или не стесняйтесь уточнить ваш вопрос, если я ошибаюсь, что вам нужно;)

С наилучшими пожеланиями Kristian

0 голосов
/ 28 апреля 2014

Если вы хотите создать метод, который принимает 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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...