私は次のようなシナリオを持っています: 私は Xcode を初めて使用し、サンプルも作成しました。実際には、すべてが正常に機能するという点で SplitView Controller を使用しましたが、詳細ビュー コントローラーに関しては、2 つの ViewController を備えたナビゲーション コントローラーを意味します。
その中で、「ピッカー」を使用して場所を取得し、 get location を押すだけで、2番目の View Controller にセグエしますが、ここでは値を取得していません。これがコードの一部です
//ViewController1.h
#import "QuerySubmission.h"
@interface MDDetailViewController : UIViewController <UISplitViewControllerDelegate>
{
IBOutlet UIPickerView *pickerView;
NSArray *pickerViewArray;
NSString *setLocation;
}
@property (nonatomic, retain) NSArray *pickerViewArray;
@property (weak, nonatomic) IBOutlet UIPickerView *pickerView;
@property(nonatomic,retain) NSString *setLocation;
@property (strong, nonatomic) id detailItem;
@property (strong, nonatomic) IBOutlet UILabel *detailDescriptionLabel;
- (IBAction)getLocation:(id)sender;
@end
//ViewController1.m
- (IBAction)getLocation:(id)sender {
int selectedIndex = [self.pickerView selectedRowInComponent:0];
NSString *message = [NSString stringWithFormat:@"Selected Location: %@",[pickerViewArray objectAtIndex:selectedIndex]];
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Alert" message:message delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
QuerySubmission *obj = [[QuerySubmission alloc] initWithNibName:@"QuerySubmission" bundle:nil];
obj.location=[pickerViewArray objectAtIndex:selectedIndex];
//NSLog(@"loc %@", [ pickerViewArray objectAtIndex:selectedIndex]);
//[ pickerViewArray objectAtIndex:selectedIndex];
}
ここでは、場所のリストを取得して取得しています
//ViewController2.h
#import <UIKit/UIKit.h>
#import "MDDetailViewController.h"
@interface QuerySubmission : UIViewController <UISplitViewControllerDelegate>
{
NSString *location;
}
@property(nonatomic,retain) NSString *location;
- (IBAction)querySubmit:(id)sender;
@end
しかし、別のコントローラーに移動するのと同じように。"null" を出力するだけです。私はSplitView Controllerが初めてです。それで、私は何か間違ったことをしていますか、それとも「デリゲート」で何かを宣言する必要がありますか? 必要なことをしてください