Как получить значение из предыдущего представления таблицы - PullRequest
0 голосов
/ 27 января 2012

У меня есть 2 вида контроллеров.В первом я выбираю категорию в виде таблицы.В следующем представлении я хочу показать все продукты в той категории, которую я выбрал в предыдущем представлении таблицы.Я получаю данные из своей базы данных с помощью php-файла.

Это мой firstViewController.m 'catVal' - это значение, которое я хочу дать моему следующему ViewController.Второй вид контроллера у меня есть функция fillArayProducts.

-(void) fillArrayProducts:(NSString *)cat{
    NSLog(@"test");
    NSMutableString *postString = [NSMutableString stringWithString:kGETProducts];
    [postString appendString:[NSString stringWithFormat:@"?%@=%@",@"Pro_cat",cat]];
    [postString setString:[postString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

    NSMutableURLRequest *request= [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:postString]];
    [request setHTTPMethod:@"POST"];

    postConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:YES];

    NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:postString]];

    NSError *error;

    json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];

    arrayProducts = [[NSMutableArray alloc] init];
    for (int i=0; i<[json count]; i++) {
        NSDictionary *info = [json objectAtIndex:i];
        [arrayProducts addObject:[info objectForKey:@"Pro_naam"]];
    } 
    NSLog(@"%@",arrayProducts);  

}

my secondViewController.m

#import <UIKit/UIKit.h>
#define kGETProducts @"http://localhost/getProducts.php"
@interface KiesProduct : UITableViewController{
    NSMutableArray *json;
    NSMutableArray *arrayProducts;
    NSURLConnection *postConnection; 
}
-(IBAction)add:(id)sender;
-(void) fillArrayProducts:(NSString *)cat;
@end

Когда я пробую это '[productVC fillArrayProducts: catVal];'В моем табличном представлении DID Выберите функцию строки, это не работает.У кого-нибудь есть идея?

1 Ответ

0 голосов
/ 27 января 2012

вы вызываете второе представление * proView, а затем вместо этого вы вызываете fillArrayProducts для productVC. изменить на

KiesProduct *proView = [[KiesProduct alloc] initWithNibName:@"KiesProduct" bundle:nil];
NSDictionary *info = [json objectAtIndex:indexPath.row];
NSString *catVal = [info objectForKey:@"Cat_naam"];
[proView fillArrayProducts:catVal];
[self.navigationController pushViewController:proView animated:YES];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...