1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Noch ein paar Anfänger Fragen

Dieses Thema im Forum "iOS-Developer" wurde erstellt von AKubi, 07.01.09.

  1. AKubi

    AKubi Alkmene

    Dabei seit:
    08.12.08
    Beiträge:
    30
    Ich habe mich mal zum Testen daran gemacht das Addressbook aus dem IPhone nachzubauen. Bekomm das eigentlich auch alles hin. Momentan habe ich allerdings ein Problem. Wenn ich mit ABNewPersonViewController einen neuen User anlege und Speicher wird die Tabelle nicht aktualiesiert. Ich habe es mit
    Code:
    - (void)viewWillAppear:(BOOL)animated {
        // Redisplay the data.
        [[self tableView] reloadData];
    }
    probiert aber auch nichts. Erst nach einem Neustart der Application ist der / die neuen Kontakte sichtbar.

    Im XIB hab ich tavleView, View, dataSource und Delegate mit dem FilesOwner verbunden. Da alles andere geht denke ich mal das haut hin. nur woran kann es liegen.
    Hier mal ein bischen Code dazu (ein paar Sachen sind auskommentiert damit es nicht zu lang wird).
    Code:
    .h
    #import <UIKit/UIKit.h>
    #import <AddressBook/AddressBook.h>
    #import <AddressBookUI/AddressBookUI.h>
    
    @class AddressBook;
    
    @interface RootViewController : UITableViewController < UISearchBarDelegate, ABNewPersonViewControllerDelegate> {
        AddressBook *dataController;
        UIView *myView;
        UITableView *tableView;
        
        NSMutableArray *sectionArray;
        int fullCount;
        
        //for searchbar
        UISearchBar *searchBar;
        NSMutableArray *searchBarEntities;
        
    }
    
    @property (nonatomic, retain)AddressBook *dataController;
    @property (nonatomic, retain)UIView *myView;
    @property (nonatomic, retain)UITableView *tableView;
    @property (nonatomic, retain)NSMutableArray *sectionArray;
    
    -(void) addContact:(id) sender;
    -(void) configureGroups:(id) sender;
    @end
    
    .m
    -(void)loadView{    
        
        // create and configure the view
        CGRect cgRct = CGRectMake(0, 40, 320, 380); 
        myView = [[UIView alloc] initWithFrame:cgRct];
        myView.autoresizesSubviews = YES;
        self.view = myView;
        
        //create second View for searchbar
        /*
            */
        
        //Create tabelView 
        tableView = [[UITableView alloc] initWithFrame:cgRct style:UITableViewStylePlain];
        tableView.editing = NO; 
        tableView.dataSource = self;
        tableView.delegate = self; 
        self.title = @"B-AddressBook";
        
        //addContact Button
        UIButton* addContactViewButton = [UIButton buttonWithType:UIButtonTypeContactAdd];
        [addContactViewButton addTarget:self action:@selector(addContact:) forControlEvents:UIControlEventTouchUpInside];
        UIBarButtonItem *addContactButton = [[UIBarButtonItem alloc] initWithCustomView:addContactViewButton];
        self.navigationItem.rightBarButtonItem = addContactButton;
        [addContactViewButton release];
        
            //add Group by Button 
            /*
            */
        [self.view addSubview:tableView];
        [myView release];
    }
    
    -(void) addContact:(id) sender {
        ABNewPersonViewController *npvc = [[ABNewPersonViewController alloc] init];
        npvc.title = @"Neuer Kontakt";
        npvc.newPersonViewDelegate = self;
        [[self navigationController] pushViewController:npvc animated:YES];
        [npvc release];
    }
    - (void)newPersonViewController:(ABNewPersonViewController *)newPersonView didCompleteWithNewPerson:(ABRecordRef)person{
        [[self navigationController] popViewControllerAnimated:YES];
    }
    
    
    Edit: quote durch Code ersetzt :)
     
    #1 AKubi, 07.01.09
    Zuletzt bearbeitet: 07.01.09
  2. Thaddäus

    Thaddäus Golden Noble

    Dabei seit:
    27.03.08
    Beiträge:
    15.163
    Ohne dass ich dir direkt helfen kann: Bitte für den Code nächstes mal in CODE-Tags ein. Hat den Vorteil, dass sich dann gewisse Zeichen nicht in Smilies verwandeln ;)

    Zum Thema: Für welche Firmware entwickelst du das denn? 2.0 oder welche genau?
     
  3. AKubi

    AKubi Alkmene

    Dabei seit:
    08.12.08
    Beiträge:
    30
    Momentan auf dem Simulator für 2.1

    Edit: seh grad das 2.2 da is, werd ich morgen mal updaten und testen.
     
  4. Thaddäus

    Thaddäus Golden Noble

    Dabei seit:
    27.03.08
    Beiträge:
    15.163
    Also ich teste auch alles für die 2.2... In speziellen Fällen noch für die 2.1... Alles andere darunter halte ich für veraltet... Gerade in Bezug auf App Store Apps... :)

    Kannst du mir mal den ganzen Code per PM durchgeben? Würd da mal 2 drei Sachen ausprobieren...
     
  5. AKubi

    AKubi Alkmene

    Dabei seit:
    08.12.08
    Beiträge:
    30
    Ja kann ich machen, schick es dir morgen mal.
     
  6. Thaddäus

    Thaddäus Golden Noble

    Dabei seit:
    27.03.08
    Beiträge:
    15.163
    Vielen Dank, freu mich... :)
     
  7. AKubi

    AKubi Alkmene

    Dabei seit:
    08.12.08
    Beiträge:
    30
    Hab es dir geschickt, heute morgen haha.

    hab einen Fehler schon selbst gefunden. Anscheinend gibt es Probleme mit reloadData wenn ich den table View nur in der .m definiere und nicht in der .h. Nachdem ich den TableView im Interface definiert hatte konnte ich reload Data nutzen. Allerdings funktioniert es in der (void)viewWillAppear:(BOOL) animated immer noch nicht.

    Ich hab es in anderen Funktionen mal Probiert und da geht es nur nicht in der ... Funktion.

    So hab es: hatte vergessen das Array mit allen Personen zu aktualisieren :(
     
  8. Thaddäus

    Thaddäus Golden Noble

    Dabei seit:
    27.03.08
    Beiträge:
    15.163
    Na gratulation :)

    Aber sei getröstet, solche Bugs hat manchmal sogar Apple höchstselbst drin...

    Ich nehme aber mal, dass dies "nur" ein Testprojekt war oder?
     
  9. AKubi

    AKubi Alkmene

    Dabei seit:
    08.12.08
    Beiträge:
    30
    Ne das kostet 25€ im Store HAHA, ne Spass ist ein Testprojekt. Mach das ja erst seit ein paar Tagen und auch nicht durchgehend.
     
  10. Thaddäus

    Thaddäus Golden Noble

    Dabei seit:
    27.03.08
    Beiträge:
    15.163
    Also dafür mal Kompliment... Die App sieht sauber aus, und erfüllt ihren Zweck... :)
     
  11. AKubi

    AKubi Alkmene

    Dabei seit:
    08.12.08
    Beiträge:
    30
    O Ok Danke, wollte eh mal fragen ,da du den Code ja gesehen hast, ob dir vieleicht grobe Fehler aufgefallen sind. Das man Variablen releasen muss hab ich schon gelernt, hatte leichte Probleme mit 10 Kontakten haha. Ansonsten finde ich die Sprache als (PHP,Java,C#) Entwickler nicht so schwierig. Es ist halt einfach mal eine Umstellung der Syntax und die Doku von Apple ist auch OK.

    Wenns fertig ist werd ich sicherlich auch mal nen Tutorial dafür machen, denn irgendwie gehen die meisten nicht über Views und Label-, Buttonbeschriftung nicht hinaus.
     
  12. Jamsven

    Jamsven London Pepping

    Dabei seit:
    21.11.07
    Beiträge:
    2.046
    Tja, direkt an der Maschine ohne GC zu programmieren ist wie einen Schaltwagen fahren.
     
    #12 Jamsven, 08.01.09
    Zuletzt bearbeitet: 09.01.09
  13. AKubi

    AKubi Alkmene

    Dabei seit:
    08.12.08
    Beiträge:
    30
    Tja so lernt man halt immer wieder mal was neues. Aber Autofahren lernt man auch am besten beim Fahren.
     

Diese Seite empfehlen