Postanowiłem umieścić kilka przydatnych funkcji, które dość często wykorzystuje. Są to funkcje pracujące na ciągach znaków lub pozwalające dodać informacje dla użytkownika. Opisane poniżej metody są statyczne. Ja mam je umieszczone w klasie Util, do której dokładam często wykorzystywane metody.

Na początek trim

Wydawałoby się, że banalna funkcja, jednakże w Objective-C troszkę musiałem poszperać, żeby wygrzebać jak to zrobić:

+ (NSString *)trim:(NSString *)string
{
    return [string stringByTrimmingCharactersInSet:
             [NSCharacterSet whitespaceAndNewlineCharacterSet]];
}

[NSCharacterSet whitespaceAndNewlineCharacterSet] po wywołaniu tej metody na klasie NSCharacterSet uzyskamy zestaw znaków do usunięcia.

Tworzenie kręciołka oczekiwania

Poniższe metody szczególnie przydatne, gdy dokonujemy dłuższej czynności np. parsowanie XMLa lub wykonanie requesta HTTP. Pierwsza tworzy widok zawierający kręcący się pasek postępu i zwraca widok. Natomiast druga zatrzymuje animację dla przekazanego widoku. Położenie koła jest ustalone w przykładzie na środek, ale dla widoku z górną belką paska nawigacyjnego np. jak w aplikacji od maila.

+ (UIActivityIndicatorView *)createProgressView
{
    UIActivityIndicatorView *progressView = [[UIActivityIndicatorView alloc]
    initWithFrame:CGRectMake(140, 170, 40.0, 40.0)];
    progressView.activityIndicatorViewStyle = UIActivityIndicatorViewStyleWhiteLarge;
    progressView.autoresizingMask = (UIViewAutoresizingFlexibleLeftMargin |
                                                  UIViewAutoresizingFlexibleRightMargin |
                                                  UIViewAutoresizingFlexibleTopMargin |
                                                  UIViewAutoresizingFlexibleBottomMargin);
    [progressView startAnimating];
    return progressView;
}

+ (void)stopProgress:(UIActivityIndicatorView *)view
{
    [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
    [view stopAnimating];
}

Zamiana wystąpień znaków

Poniższa metoda była wykorzystywana przeze mnie. Jednakże jest tu prezentowana w celu edukacyjnym by pokazać jak podmienia się wystąpienia w ciągu znaków. Warte zwrócenia uwagi jest, że tworząc słownik za pomocą dictionaryWithObjectsAndKeys najpierw podaje się wartość, a następnie klucz, oraz na końcu obowiązkowo nil. Swoją drogą bardzo brzydka metoda jeżeli ktoś ma zwinniejsze rozwiązanie byłbym wdzięczny za podzielenie się nim :)

+ (NSString *)removePolishCharachters:(NSString *)string
{
     NSDictionary *charachters = [NSDictionary dictionaryWithObjectsAndKeys:@"s", @"ś", @"a",
        @"ą",@"e", @"ę", @"z", @"ż", @"z", @"ź", @"c", @"ć", @"n", @"ń", @"o", @"ó", nil];
     for( id key in charachters) {
          string = [string stringByReplacingOccurrencesOfString:key
                       withString:[charachters objectForKey:key]];
      }
      return string;
}

Jak wpadną mi jeszcze jakieś metody przydatne innym to postaram się je umieścić na blogu. Zastanawiam się także nad dopracowaniem klasy wspomagającej zapytania HTTP, tyle że ta klasa jest dość wyspecjalizowana :/