2011-11-29 166 views
0

我想通過這種方式localstringtextnote傳遞給Uploadviewcontroller,如何將值傳遞給另一個視圖控制器?

UIViewController *controllerNew = [[UploadViewController alloc] initWithNibName:@"UploadView" bundle:nil owner:self]; 
     controllerNew.localStringtextnote = localStringtextnote; 
     [self.navigationController pushViewController:controllerNew animated:YES]; 
     [controllerNew release]; 

,但我得到這個錯誤「@property localstringtextnote型的UIViewController對象不喜歡」 或 我想通過modalTransistionstyle

UploadViewController *aSecondViewController = [[UploadViewController alloc] initWithNibName:@"UploadView" bundle:nil]; 
     aSecondViewController.modalTransitionStyle = UIModalTransitionStyleCoverVertical; 
     [self presentModalViewController:aSecondViewController animated:YES]; 


     [UIView commitAnimations]; 

如何做到這一點?在此先感謝。

回答

2

聲明變量

NSString *_localStringtextnote; 

UploadViewController.h文件。

還要在同一個文件中爲該變量添加一個屬性。

@property(nonatomic,copy) NSString *localStringtextnote; 

在.m文件中,綜合實現內部。

@synthesize localStringtextnote=_localStringtextnote; 

現在運行該應用程序。

+0

它可以與UIViewController * controllerNew = [[UploadViewController alloc] initWithNibName:@「UploadView」bundle:nil owner:self]; controllerNew.localStringtextnote = localStringtextnote; [self.navigationController pushViewController:controllerNew animated:YES]; [controller新版本]; – ICoder

+0

UIViewController * controllerNew = [[UploadViewController alloc] initWithNibName:@「UploadView」bundle:nil owner:self]; controllerNew.localStringtextnote = _localStringtextnote; \t \t [self.navigationController pushViewController:controllerNew animated:YES]; \t \t [controllerNew release];同樣的錯誤信息 – ICoder

+0

聲明'controllerNew'作爲'UploadViewController'的對象而不是'UIViewController'。 – Ilanchezhian

-1

創建controllerNew的新方法(不要忘了聲明它的* .h文件):

-(id) setParams:(NSString*)str { 
    localStringtextnote = [[NSString alloc] initWithString:str]; 
    return self; 
} 

然後,當你需要北醫三院這個視圖控制器:

UploadViewController *controllerNew = [[UploadViewController alloc] initWithNibName:@"UploadView" bundle:nil owner:self]; 
     [self.navigationController pushViewController:controllerNew animated:YES]; 
controllerNew = [controllerNew setParams:localStringtextnote]; 
    [controllerNew release]; 
+0

這沒有任何意義,只有init方法應該像這樣返回自己。調試器仍然會抱怨'setParams'方法是未知的,因爲它沒有在'UIViewController'類中聲明。 – rckoenes

+0

然後在.h文件中聲明它。我做了時間的混帳。 – SentineL

+0

你編輯的'UIViewController.h'你應該從'UIViewController'繼承,不要編輯它的.h文件。 – rckoenes

1
 UploadViewController *controllerNew = [[UploadViewController alloc] initWithNibName:@"UploadView" bundle:nil owner:self]; 
     controllerNew.localStringtextnote = localStringtextnote; 
     [self.navigationController pushViewController:controllerNew animated:YES]; 
     [controllerNew release]; 

將您的uiview控制器更改爲UploadViewController,因爲uiview控制器沒有任何屬性localStringtextnote

0

您必須聲明localStringtextnote作爲UploadViewController中的財產@property(nonatomic,retain)NSString * localStringtextnote;併合成.m文件。

相關問題