Problem with code dealing with images in table view cells

Discussion in 'iOS Programming' started by geiger10d, Feb 8, 2011.

  1. geiger10d, Feb 8, 2011
    Last edited: Apr 14, 2012

    geiger10d macrumors member

    Joined:
    Jan 31, 2011
    #1
    #import "WorkoutsTableViewController.h"
    #import "WorkoutsListTableViewController.h"
    #import "iScheduleFitnessAppDelegate.h"


    @implementation WorkoutsTableViewController
    @synthesize workoutsArray;
    @synthesize workoutsListViewController;
    @synthesize primaryLabel,secondaryLabel,myImageView;

    #pragma mark -
    #pragma mark Initialization

    /*
    - (id)initWithStyle:(UITableViewStyle)style {
    // Override initWithStyle: if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad.
    self = [super initWithStyle:style];
    if (self) {
    // Custom initialization.
    }
    return self;
    }
    */


    #pragma mark -
    #pragma mark View lifecycle
    /*

    - (void)viewDidLoad {
    [super viewDidLoad];

    self.title = NSLocalizedString(@"Workouts", @"Body Categories");
    /*
    NSMutableArray *array = [[NSArray alloc] initWithObjects:mad:"Leg Workouts", @"Chest Workouts", @"Back Workouts", @"Shoulder Workouts", @"Bicep Workouts", @"Tricep Workouts", @"Ab Workouts", @"Miscellaneous Workouts", @"Streching Workouts", nil];
    self.workoutsArray = array;
    [array release];
    */
    /*
    workoutsArray = [[NSArray alloc] initWithObjects:mad:"Bicep Workouts", @"Tricep Workouts", @"Back Workouts", @"Leg Workouts", @"Chest Workouts", @"Streching Workouts", @"Ab Workouts", @"Shoulder Workouts", @"Miscellaneous workouts", nil];
    [self setTitle:mad:"Workouts"];

    */
    // Uncomment the following line to display an Edit button in the navigation bar for this view controller.
    // self.navigationItem.rightBarButtonItem = self.editButtonItem;



    /*
    - (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    }
    */
    /*
    - (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    }
    */
    /*
    - (void)viewWillDisappear:(BOOL)animated {
    [super viewWillDisappear:animated];
    }
    */
    /*
    - (void)viewDidDisappear:(BOOL)animated {
    [super viewDidDisappear:animated];
    }
    */
    /*
    // Override to allow orientations other than the default portrait orientation.
    - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    // Return YES for supported orientations.
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
    }
    */


    #pragma mark -
    #pragma mark Table view data source

    - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    // Return the number of sections.
    return 1;
    }


    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    // Return the number of rows in the section.
    return 5;
    }


    // Customize the appearance of table view cells.
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    static NSString *CellIdentifier = @"Cell";


    CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {

    cell = [[[CustomCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];

    }


    switch (indexPath.row) {
    case 0:
    cell.primaryLabel.text = @"Meeting on iPhone Development";
    cell.secondaryLabel.text = @"Sat";
    cell.myImageView.image = [UIImage imageNamed:mad:"meeting_color.png"];
    break;
    case 1:
    cell.primaryLabel.text = @"Call With Client";
    cell.secondaryLabel.text = @"Six";
    cell.myImageView.image = [UIImage imageNamed:mad:"call_color.png"];
    break;
    case 2:
    cell.primaryLabel.text = @"Appointment with Joey";
    cell.secondaryLabel.text = @"One";
    cell.myImageView.image = [UIImage imageNamed:mad:"calendar_color.png"];
    break;
    case 3:
    cell.primaryLabel.text = @"Call With Client";
    cell.secondaryLabel.text = @"Planned";
    cell.myImageView.image = [UIImage imageNamed:mad:"call_color.png"];
    break;
    case 4:
    cell.primaryLabel.text = @"Appointment with Joey";
    cell.secondaryLabel.text = @"Hours";
    cell.myImageView.image = [UIImage imageNamed:mad:"calendar_color.png"];
    break;
    default:
    break;
    }

    return cell;



    /*
    self.tableView.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:mad:""]];
    */



    /*
    // Override to support conditional editing of the table view.
    - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
    // Return NO if you do not want the specified item to be editable.
    return YES;
    }
    */


    /*
    // Override to support editing the table view.
    - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {

    if (editingStyle == UITableViewCellEditingStyleDelete) {
    // Delete the row from the data source.
    [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
    }
    else if (editingStyle == UITableViewCellEditingStyleInsert) {
    // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view.
    }
    }
    */


    /*
    // Override to support rearranging the table view.
    - (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath {
    }
    */


    /*
    // Override to support conditional rearranging of the table view.
    - (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath {
    // Return NO if you do not want the item to be re-orderable.
    return YES;
    }
    */


    #pragma mark -
    #pragma mark Table view delegate
    /*
    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    // Navigation logic may go here. Create and push another view controller.
    /*
    <#DetailViewController#> *detailViewController = [[<#DetailViewController#> alloc] initWithNibName:mad:"<#Nib name#>" bundle:nil];
    // ...
    // Pass the selected object to the new view controller.
    [self.navigationController pushViewController:detailViewController animated:YES];
    [detailViewController release];
    */

    NSInteger row = [indexPath row];
    if (self.workoutsListViewController == nil) {
    workoutsListViewController = [[WorkoutsListTableViewController alloc] init];
    }
    workoutsListViewController.title = [NSString stringWithFormat:mad:"%@", [workoutsArray objectAtIndex:row]];

    iScheduleFitnessAppDelegate *delegate = [[UIApplication sharedApplication] delegate];
    [delegate.workoutsNavController pushViewController:workoutsListViewController animated:YES];
    }
    #pragma mark -
    #pragma mark Memory management
    //*
    - (void)didReceiveMemoryWarning {
    // Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];

    // Relinquish ownership any cached data, images, etc. that aren't in use.


    }

    - (void)viewDidUnload {
    // Relinquish ownership of anything that can be recreated in viewDidLoad or on demand.
    // For example: self.myOutlet = nil;

    }



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


    @end[/code]
     
  2. robbieduncan Moderator emeritus

    robbieduncan

    Joined:
    Jul 24, 2002
    Location:
    London
    #2
    1) Please use the code tags!

    2) You have a class definition for CustomCell right? If so why have you not imported the header?
     
  3. geiger10d, Feb 8, 2011
    Last edited by a moderator: Feb 8, 2011

    geiger10d thread starter macrumors member

    Joined:
    Jan 31, 2011
    #3
    heres my header but i dont have a separate view controller named custom class, do i need one?
    sorry i dont know how to use code tags!


    Code:
    #import <UIKit/UIKit.h>
    @class WorkoutsNavController;
    @class CalenderViewController;
    @class MainViewController;
    
    
    @interface iScheduleFitnessAppDelegate : NSObject  {
        UIWindow *window;
    	IBOutlet UITabBarController *rootController;
    	IBOutlet WorkoutsNavController *workoutsNavController;
    	IBOutlet CalenderViewController *viewController;
    	IBOutlet MainViewController *mainViewController;
    
    }
    
    @property (nonatomic, retain) IBOutlet UIWindow *window;
    @property (nonatomic, retain) IBOutlet UITabBarController *rootController;
    @property (nonatomic, retain) IBOutlet WorkoutsNavController *workoutsNavController;
    @property (nonatomic, retain) IBOutlet CalenderViewController *viewController;
    @property (nonatomic, retain) IBOutlet MainViewController *mainViewController;
    
    @end
    
     
  4. robbieduncan Moderator emeritus

    robbieduncan

    Joined:
    Jul 24, 2002
    Location:
    London
    #4
    What you have posted suggests you don't understand the very basics of Objective-C. On the line

    Code:
    CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    
    what does CustomCell represent? What does this imply you would need?

    This is the exact problem with copy and pasting code that you don't understand. Take about 10 steps back. You need to understand what each and every line in your code is doing and why it's there.
     
  5. chown33, Feb 8, 2011
    Last edited: Feb 8, 2011

    chown33 macrumors 604

    Joined:
    Aug 9, 2009
    #5
    It's a sticky at the top of the forum.

    Forum:
    http://forums.macrumors.com/forumdisplay.php?f=135

    Sticky: Posting code, please use the [ CODE ] tags:
    http://forums.macrumors.com/showthread.php?t=747660


    And when you copy/paste code you found, provide the original's URL so we know what the original code looks like. This can be important when you make transciption errors. I can already see your code is missing a }, irrespective of the missing CustomCell declaration, and it would be useful to know whose error that is.

    Found code can be dead wrong, even code that looks good to the inexperienced. For example, this thread:
    http://forums.macrumors.com/showthread.php?p=11837823
    which copy/pasted code found here:
    http://stackoverflow.com/questions/2144459/using-scanf-to-accept-user-input
     
  6. geiger10d thread starter macrumors member

    Joined:
    Jan 31, 2011
    #6
    no i really dont understand im just trying to do this simple thing, im obviously new at this and i just need someone to explain that to me
     
  7. robbieduncan Moderator emeritus

    robbieduncan

    Joined:
    Jul 24, 2002
    Location:
    London
    #7
    I'm sorry but you are basically asking someone to teach you Objective-C from scratch. That's how fundamental this is. Go read the Introduction to The Objective-C Programming Language. Or buy a good book and work through it. Copy and pasting code is not going to help you and neither is someone giving you answers you don't understand.
     
  8. nickculbertson macrumors regular

    nickculbertson

    Joined:
    Nov 19, 2010
    Location:
    Nashville, TN
    #8
    You will probably find how to fix your problem in one of these tutorials.
     
  9. dejo Moderator

    dejo

    Staff Member

    Joined:
    Sep 2, 2004
    Location:
    The Centennial State
    #9
    Probably would be best to understand the fundamentals of Objective-C before tackling those tutorials.
     
  10. geiger10d thread starter macrumors member

    Joined:
    Jan 31, 2011
    #10
    thanks all! i guess i just got ahead of myself before knowing what i was really doing!
     

Share This Page