Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode 将数据传回视图控制器不工作(iOS)_Xcode_Ios5_Delegates - Fatal编程技术网

Xcode 将数据传回视图控制器不工作(iOS)

Xcode 将数据传回视图控制器不工作(iOS),xcode,ios5,delegates,Xcode,Ios5,Delegates,我看到有很多关于这个话题的帖子,但似乎没有一篇能解决我的问题 我需要一个视图控制器,它只有一个文本字段、一个导航栏按钮(称为save)和一个数字/标点键盘 另一个视图控制器有一个包含2行的静态表视图 工作流:当用户点击表中的第一行时,会出现第二个视图控制器(这已经起作用)。 然后,用户输入一个数字,点击“保存”时,应使用键入的数字设置表视图中第一行的详细信息标签 我已经设置了协议和委托,但出现了一些问题,因为第二视图控制器没有消失,而且细节标签也从未更新以反映此键入的编号 我被难住了。通过了

我看到有很多关于这个话题的帖子,但似乎没有一篇能解决我的问题

我需要一个视图控制器,它只有一个文本字段、一个导航栏按钮(称为save)和一个数字/标点键盘

另一个视图控制器有一个包含2行的静态表视图

工作流:当用户点击表中的第一行时,会出现第二个视图控制器(这已经起作用)。 然后,用户输入一个数字,点击“保存”时,应使用键入的数字设置表视图中第一行的详细信息标签

我已经设置了协议和委托,但出现了一些问题,因为第二视图控制器没有消失,而且细节标签也从未更新以反映此键入的编号

我被难住了。通过了大量的代码示例,尝试了很多东西,但仍然没有解决方案。非常感谢您的帮助

下面是这两个类的代码

第一视图(表视图) .h文件(hourlyRateDetialLabel是表视图中的详图标签):

第二类(带有文本字段和保存按钮的视图) .h文件


提供的代码包括:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
 priceCalculatorHrRateSettingsViewController *vc = [[priceCalculatorHrRateSettingsViewController alloc] init];
vc.settingsViewDelegate = self;
}
这将在选定单元格但从不显示它时创建控制器,但意外行为描述为:

…第二视图控制器不会消失


这些似乎相互矛盾。没有对1的准确描述。预期行为2。观察到的行为和3。实际的实现产生了观察到的行为,任何人都几乎不可能解决这个问题。请不要让我们猜测如何提供帮助。

您提供的代码似乎不包括创建
价格计算器hr费率设置查看控制器
或设置其
设置查看闸门
。鉴于此示例,无法确定您为什么看不到预期的行为。感谢您指出。。。我的创建设置如下:
priceCalculatorHrRateSettingsViewController*vc=[[priceCalculatorHrRateSettingsViewController alloc]init];vc.settingsViewDelegate=self但仍不工作表视图的数据源是谁?通常,当表视图的数据源更改并且您调用
[tableView reloadData]时,表视图将自动更新在didSelectRowAtIndexPath中,如何使用导航控制器的pushviewcontroller方法或使用[self-presentModalViewController:vc动画:是]?我使用的是一个静态表,所以我使用了一个推送序列来加载每一行的相应视图。。。
#import "priceCalculatorSettingsViewController.h"
#import "priceCalculatorHrRateSettingsViewController.h"

@interface priceCalculatorSettingsViewController ()

@end

@implementation priceCalculatorSettingsViewController
@synthesize hourlyRateDetialLabel;

- (void)viewDidLoad
{
    [super viewDidLoad];
}


#pragma mark - Table view delegate

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
 priceCalculatorHrRateSettingsViewController *vc = [[priceCalculatorHrRateSettingsViewController alloc] init];
vc.settingsViewDelegate = self;
}

- (void) HourlyRateDidSave:(priceCalculatorHrRateSettingsViewController *)controller didSetHourlyRate:(NSString *)rateValue{

    self.hourlyRateDetialLabel.text = rateValue;
    [self dismissViewControllerAnimated:YES completion:nil];
}

@end
#import UIKit/UIKit.h

@class priceCalculatorHrRateSettingsViewController;

@protocol SettingsViewControllerDelegate <NSObject>

- (void)HourlyRateDidSave:
(priceCalculatorHrRateSettingsViewController *)controller didSetHourlyRate:(NSString *)rateValue;

@end


@interface priceCalculatorHrRateSettingsViewController : UIViewController<UITextFieldDelegate>

@property (strong, nonatomic) IBOutlet UITextField *setHourlyRate;


@property (weak, nonatomic) id<SettingsViewControllerDelegate> settingsViewDelegate;
- (IBAction)saveHourlyRateValue:(id)sender;

@end
#import "priceCalculatorHrRateSettingsViewController.h"

@interface priceCalculatorHrRateSettingsViewController ()

@end

@implementation priceCalculatorHrRateSettingsViewController{

}
@synthesize setHourlyRate = _setHourlyRate;
@synthesize settingsViewDelegate;


- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.

    //Automatically show the keybaord
    [_setHourlyRate becomeFirstResponder];

}

- (void)viewDidUnload
{
    [self setSetHourlyRate:nil];
    [super viewDidUnload];
    // Release any retained subviews of the main view.
}


- (IBAction)saveHourlyRateValue:(id)sender {

    [self.settingsViewDelegate HourlyRateDidSave:self didSetHourlyRate:_setHourlyRate.text];

}


@end
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
 priceCalculatorHrRateSettingsViewController *vc = [[priceCalculatorHrRateSettingsViewController alloc] init];
vc.settingsViewDelegate = self;
}