//
//  Allocating_and_Making_Use_of_StringsAppDelegate.m
//  Allocating and Making Use of Strings
//
//  Created by Vandad Nahavandipoor on 06/07/2011.
//  Copyright 2011 Pixolity Ltd. All rights reserved.
//

#import "Allocating_and_Making_Use_of_StringsAppDelegate.h"

@implementation Allocating_and_Making_Use_of_StringsAppDelegate


@synthesize window=_window;

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
  // OMiejsce na przeprowadzenie własnej konfiguracji po uruchomieniu aplikacji.
  [self.window makeKeyAndVisible];
  
  /* 1 */
//NSString *simpleString = @"To jest prosty ciąg tekstowy";
//
//NSString *anotherString = 
//  [NSString stringWithString:@"To jest inny prosty ciąg tekstowy"];
//
//NSString *oneMorestring = 
//  [[NSString alloc] initWithString:@"I jeszcze jeden!"];
//
//NSMutableString *mutableOne = 
//  [NSMutableString stringWithString:@"Modyfikowalny ciąg tekstowy"];
//
//NSMutableString *anotherMutableOne = 
//  [[NSMutableString alloc] initWithString:@"Przytrzymany ciąg tekstowy"];
//
//NSMutableString *thirdMutableOne = 
//  [NSMutableString stringWithString:simpleString];
  
  
  /* 2 */
//NSString *userName = ...;
//
//if ([userName length] == 0){
//  /* Użytkownik nie podał imienia. */
//} else {
//  /* Użytkownik faktycznie podał imię. */
//}
  
  /* 3 */
//NSString *simpleString = @"123.456";
//
//NSInteger integerOfString = [simpleString integerValue];
//NSLog(@"integerOfString = %ld", (long)integerOfString);
//
//CGFloat floatOfString = [simpleString floatValue];
//NSLog(@"floatOfString = %f", floatOfString);
//
//double doubleOfString = [simpleString doubleValue];
//NSLog(@"doubleOfString = %f", doubleOfString);
  
  /* 4 */
//char *cString = "To jest ciąg tekstowy języka C";
  
  /* 5 */
//const char *cString = [@"Ciąg tekstowy Objective-C" UTF8String];
//NSLog(@"cString = %s", cString);
  
  /* 6 */
//NSString *objectString = [NSString stringWithUTF8String:"Ciąg tekstowy języka C"];
//NSLog(@"objectString = %@", objectString);
  
  /* 7 */
//NSString *haystack = @"Mój prosty ciąg tekstowy";
//NSString *needle = @"prosty";
//NSRange  range = [haystack rangeOfString:needle];
//
//if (range.location == NSNotFound){
//  /* Szukany ciąg tekstowy NIE został znaleziony. */
//} else {
//  /* Szukany ciąg tekstowy został znaleziony. */
//  NSLog(@"Znaleziono %@ w %@ w położeniu %lu",
//        needle,
//        haystack,
//        (unsigned long)range.location);
//}
  
  
  /* 8 */
//NSString *haystack = @"Mój Prosty Ciąg Tekstowy";
//NSString *needle = @"prosty";
//NSRange  range = [haystack rangeOfString:needle 
//                                 options:NSCaseInsensitiveSearch];
//
//if (range.location == NSNotFound){
//  /* CSzukany ciąg tekstowy NIE został znaleziony. */
//} else {
//  /* Szukany ciąg tekstowy został znaleziony. */
//  NSLog(@"Znaleziono %@ w %@ w położeniu %lu",
//        needle,
//        haystack,
//        (unsigned long)range.location);
//}
  
  /* 9 */
//NSMutableString *mutableString = 
//  [[NSMutableString alloc] initWithString:@"Mój MacBook"];
//
///* Dodanie ciągu tekstowego na końcu powyższego ciągu tekstowego. */
//[mutableString appendString:@" Pro"];
//
///* Usunięcie ciągu tekstowego "Mój " z początku powyższego ciągu tekstowego. */
//[mutableString 
// replaceOccurrencesOfString:@"Mój "
// withString:[NSString string] /* Pusty ciąg tekstowy. */
// options:NSCaseInsensitiveSearch /* Wielkość liter nie ma znaczenia. */
// range:NSMakeRange(0, [mutableString length])]; /* Wszystko, aż do końca. */
//
//NSLog(@"mutableString = %@", mutableString);
  
  
  
  return YES;
}

- (void)applicationWillResignActive:(UIApplication *)application
{
  /*
   Ta metoda jest wywoływana, gdy aplikacja przechodzi ze stanu aktywnego do nieaktywnego. Może być wywołana w określonych sytuacjach (na przykład w chwili odbywania rozmowy telefonicznej lub po otrzymaniu wiadomości SMS) bądź kiedy użytkownik kończy działanie aplikacji. Metoda rozpoczyna proces przejścia do stanu pozostania w tle. Tę metodę można wykorzystać do wstrzymania wykonywania bieżących zadań, wyłączenia liczników czasu, zmniejszenia liczby klatek generowanych przez OpenGL ES. W grach ta metoda powinna być użyta do wstrzymania gry (pauza).
   */
}

- (void)applicationDidEnterBackground:(UIApplication *)application
{
  /*
   Tę metodę należy wykorzystać do zwolnienia zasobów współdzielonych, zapisania danych użytkownika, wyzerowania liczników czasu oraz do przechowania takiej ilości informacji o stanie, która pozwoli na przywrócenie aplikacji do stanu bieżącego. Jeżeli aplikacja obsługuje działanie w tle, w chwili kończenia działania należy wywołać tę metodę zamiast applicationWillTerminate:.
   */
}

- (void)applicationWillEnterForeground:(UIApplication *)application
{
  /*
   Ta metoda jest wywoływana podczas przechodzenia aplikacji ze stanu aktywnego do działania w tle. Można więc tutaj wycofać wiele zmian wprowadzonych w chwili przechodzenia do stanu działania w tle.
   */
}

- (void)applicationDidBecomeActive:(UIApplication *)application
{
  /*
   W tej metodzie można wznowić działanie zadań zatrzymanych (lub nieuruchomionych), gdy aplikacja była nieaktywna. Jeżeli aplikacja znajdowała się w trybie działania w tle, w metodzie można przeprowadzić odświeżenie interfejsu użytkownika..
   */
}

- (void)applicationWillTerminate:(UIApplication *)application
{
  /*
   Ta metoda jest wywoływana, gdy działanie aplikacji ma zostać zakończone. Zapoznaj się z opisem metody applicationDidEnterBackground:.
   */
}

- (void)dealloc
{
  [_window release];
  [super dealloc];
}

@end
