[OBJ-C] Eigen klasses, import

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • ZpAz
  • Registratie: September 2005
  • Laatst online: 22:44

Dit topic kan weg, dit was wel de juiste manier, maar had waarschijnlijk ergens een typfout gemaakt waardoor het niet werkte, vanaf scratch opnieuw gedaan, en toen werkte het wel goed, in ieder geval bedankt als je mee hebt gelezen en mee hebt gedacht.


Omdat ik met dit probleem: TableView loopt vast bij Scrollen helemaal vastliep besloot ik het om het over een andere boeg te gooien, namelijk zonder de Interface builder, maar alle views e.d te maken en te tonen met code. Dit wil tot op zekere hoogte.

Als ik deze code heb:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
- (void)applicationDidFinishLaunching:(UIApplication *)application {    
    //Create tabbarcontroller
    tabBarController = [[UITabBarController alloc] init];
    
    //Create a navigation controller with table controller
    newsTableViewController = [[UITableViewController alloc] init];
    [newsTableViewController setTitle:@"Nieuws"];
    
    UINavigationController *newsTableNavController = [[[UINavigationController alloc] initWithRootViewController:newsTableViewController] autorelease];
    [newsTableViewController release];
    
    //Add navigation controllers to tabbarcontroller
    [tabBarController setViewControllers: [NSArray arrayWithObjects:newsTableNavController, nil]];

    //Add tabbarcontroller to window
    [window addSubview:tabBarController.view];
    //Show window
    [window makeKeyAndVisible];
}


(bijbehorende header file)
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
#import <UIKit/UIKit.h>
#import "NewsTableViewController.h";

@interface BrandstofAppDelegate : NSObject <UIApplicationDelegate> {
    UIWindow *window;
    UITabBarController *tabBarController;
    NewsTableViewController *newsTableViewController;
}

@property (nonatomic, retain) IBOutlet UIWindow *window;

@end


Dan krijg ik netjes een view voor mijn neus, met onderaan de tabbar, bovenin de navigation, en in het midden de tabel.

Nu dacht ik, die UITableViewController heeft vast wel een method ala 'setDelegate en setDataSource' maar nee helaas, dus ik kwam er al snel achter dat ik via deze weg dan niet de table kan populaten.

Ik dacht, dan via de andere weg, ik maak een eigen classe welke ik NewsTableViewController noem, welke een subclasse wordt van UITableViewController, want immers, dan heb ik wel in die klasse beschikking over de datasource en delegate methods.

So far so good, aangemaakt. En bij regeltje
PHP:
1
    newsTableViewController = [[UITableViewController alloc] init];


veranderd naar:
PHP:
1
    newsTableViewController = [[NewsTableViewController alloc] init];


en in de header file de juiste wijzigingen doorgevoert.

Maar dan krijg ik de volgende error meteen na de imports:
error: expected specifier-qualifier-list before 'newsTableViewController'
&
error: newsTableViewController undeclared (first us in this function)
Ik daar op gegoogled, krijg ik informatie over #import e.d dus ik denken, nou, ik denk dat ik eerst nog

#import "NewsTableViewController.h" moet plaatsen, deze dus geplaatst in de header file, gaat die eerste error weg. Maar dan houd ik nog de tweede error over.

Ik denk dat ik toch in de richting van import ofzo moet denken? Of zit ik er naast.

[ Voor 4% gewijzigd door ZpAz op 17-07-2009 17:33 ]

Tweakers Time Machine Browser Extension | Chrome : Firefox