2011-08-08 2 views
0

내가 다른 컨트롤러에 string을 전달하고에 문자열 값을 전달하는 것은다른 컨트롤러

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 

CategoriesList *dvController = [[CategoriesList alloc] initWithNibName:@"CategoriesList" bundle:nil]; 

NSString *category=aBook.name; 
dvController.category=category; 
[self.navigationController pushViewController:dvController animated:YES]; 
[dvController release]; 

} 

그것은 내가 버튼을 제목에 있음을 설정하고 표시되지 않습니다 가장 쉬운

NSString *title=category; 
[titleButton setTitle:title forState:UIControlStateNormal]; 
+0

구문 분석하지, 그것은 인스턴스 변수의 값을 전달이라고합니다. – Ishu

+0

그리고 self.category로 시도하십시오. – Ishu

+0

어떤 값을 전달하는지 확인하십시오. 그런 다음'category' (프라퍼티와 합성)를 올바르게 선언했는지 확인한 다음, 같은 클래스 (선언 된 곳)에서'category'를 사용하면서'self.category'를 다시 사용하십시오. 문제가 지속되면 응답. – rptwsthi

답변

2

방법은 CategoriesList에 사용자 정의 초기화를 만드는 것입니다 :

CategoriesList.h

@interface DetailViewController : UIViewController 
{ 
    NSString *category; 
} 

@property (nonatomic, retain) NSString *category; 

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil category:(NSString *)categoryName; 

CategoriesList.m

@synthesize category; 

... 

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil category:(NSString *)categoryName; 
{ 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    if (self) 
    { 
     self.category = categoryName; 
    } 
    return self; 
} 

... 

- (void)dealloc 
{ 
    [category release]; 
    [super dealloc]; 
} 
관련 문제