-2

だから私はたくさんのスタックオーバーフローの答えを見てきましたが、どれも役に立たないようです。もしかしてこれは特殊なケース?これまでの私のコードは次のとおりです。

そのため、別のビュー コントローラー内で宣言されているプロパティに文字列を割り当てています。

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

     FinalRead *readings = [_fetchedResultsController objectAtIndexPath:indexPath];
     FinalReadingViewController *detailViewController = [[FinalReadingViewController alloc] init];

     detailViewController.lover = [NSString stringWithFormat:@"%@", readings.a1];
     detailViewController.lover2 = [NSString stringWithFormat:@"%@", readings.a2];
     detailViewController.monies = [NSString stringWithFormat:@"%@",readings.a3];
     detailViewController.monies2 = [NSString stringWithFormat:@"%@", readings.a4];
     detailViewController.healthy = [NSString stringWithFormat:@"%@", readings.a5];
     detailViewController.healthy2 = [NSString stringWithFormat:@"%@",readings.a6];

     [self.navigationController pushViewController:detailViewController animated:YES];

 }

次に、次のView Controllerで、文字列をANOTHER View Controllerの別のプロパティに割り当てています。

- (IBAction)loveClicked:(id)sender {

    LoveDetailViewController *love = [[LoveDetailViewController alloc] init];


    NSString *stringLove1 = self.healthy;
    NSString *stringHealth2 = self.healthy2;

    stringLove1 = love.loverly;
    stringLove2 = love.loverly2;

    [self.navigationController pushViewController: love animated:YES];
}

そして、その3番目のView Controllerに到達するまでに、値は(null)として表示されます。何か案は?

4

5 に答える 5

3

試してみてください:

love.loverly = stringLove1;
love.loverly2 = stringLove2;

それ以外の

 stringLove1=love.loverly ;
 stringLove2=love.loverly2;
于 2013-10-24T07:08:02.177 に答える
0

このように SecondViewController で最初にプロパティを宣言します

 @property NSString * str;

次に、SecondViewController で合成します。

@synthesize str;

次に、FirstViewController に移動して、.h ファイルで 1 つの文字列を宣言します。

NSString * str1;

そしてベロコードのように渡します..

 str1=@"abcd";
 SecondViewController * svc=[[SecondViewController alloc]initWithNibName:@"SecondViewController" bundle:nil];
 svc.str=str1;
 [self.navigationController pushViewController:svc animated:YES];

次に、SecondViewController.m ファイルに str を記録します

NSLog(@"%@",str);

// 出力は abcd..

この道をたどる

于 2013-10-24T07:11:18.077 に答える