• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Noch ein paar Anfänger Fragen

AKubi

Alkmene
Registriert
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 :)
 
Zuletzt bearbeitet:

Thaddäus

Golden Noble
Registriert
27.03.08
Beiträge
18.393
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?
 

AKubi

Alkmene
Registriert
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.
 

Thaddäus

Golden Noble
Registriert
27.03.08
Beiträge
18.393
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...
 

AKubi

Alkmene
Registriert
08.12.08
Beiträge
30
Ja kann ich machen, schick es dir morgen mal.
 

AKubi

Alkmene
Registriert
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 :(
 

Thaddäus

Golden Noble
Registriert
27.03.08
Beiträge
18.393
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?
 

AKubi

Alkmene
Registriert
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.
 

Thaddäus

Golden Noble
Registriert
27.03.08
Beiträge
18.393
Also dafür mal Kompliment... Die App sieht sauber aus, und erfüllt ihren Zweck... :)
 

AKubi

Alkmene
Registriert
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.
 

Jamsven

London Pepping
Registriert
21.11.07
Beiträge
2.046
Tja, direkt an der Maschine ohne GC zu programmieren ist wie einen Schaltwagen fahren.
 
Zuletzt bearbeitet:

AKubi

Alkmene
Registriert
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.