Mostrando postagens com marcador NSString. Mostrar todas as postagens
Mostrando postagens com marcador NSString. Mostrar todas as postagens

segunda-feira, 31 de março de 2014

Chamar métodos através de um NSString passando Nenhum, Um ou Mais Parâmetros

Nenhum Parâmetro e Sem Retorno:
1
2
3
4
SEL selector = NSSelectorFromString(@"someMethod"); 
IMP imp = [_controller methodForSelector:selector]; 
void (*func)(id, SEL) = (void *)imp; 
func(_controller, selector);

Um ou Mais Parâmetros e Com Retorno:
1
2
3
4
SEL selector = NSSelectorFromString(@"processRegion:ofView:");
IMP imp = [_controller methodForSelector:selector];
CGRect (*func)(id, SEL, CGRect, UIView *) = (void *)imp;
CGRect result = func(_controller, selector, someRect, someView);

Fonte: Stack Overflow

quarta-feira, 4 de julho de 2012

Função - Retorna uma NSString (hh:mm:ss) passando apenas os segundos

Função que retorna uma string (NSString) no formato de horário apenas passando a quantidade de segundos.
Barbada galera!



  1. +(NSString *)clockFormatWithSeconds:(int)seconds
  2. {
  3.     int hour = 0, min = 0, sec = 0;
  4.     NSString *h, *m, *s;
  5.  
  6.     sec = seconds;
  7.  
  8.     while (sec >= 60) {min+=1; sec-=60;}
  9.     while (min >= 60) {hour+=1; min-=60;}
  10.  
  11.     h = (hour > 9) ? [NSString stringWithFormat:@"%d",hour] : [NSString stringWithFormat:@"0%d",hour] ;
  12.     m = (min > 9) ? [NSString stringWithFormat:@"%d",min] : [NSString stringWithFormat:@"0%d",min] ;
  13.     s = (sec > 9) ? [NSString stringWithFormat:@"%d",sec] : [NSString stringWithFormat:@"0%d",sec] ;
  14.  
  15.     return [NSString stringWithFormat:@"%@:%@:%@",h,m,s];
  16. }


segunda-feira, 7 de maio de 2012

Dica - Criando classes a partir de uma NSString

Pessoal,

Este código é para você usar um Objeto a partir de uma Classe criada a partir de uma NSString. Para utilizar em códigos mais dinâmicos.

  1. NSString* class   = [[tableViewData objectAtIndex:indexPath.row] objectForKey:@"class"];
  2. Class detailClass = NSClassFromString(class);