Iphone 如何将数字或数据从子类UIView传递到UIViewController?

Iphone 如何将数字或数据从子类UIView传递到UIViewController?,iphone,objective-c,ios,xcode,cocoa-touch,Iphone,Objective C,Ios,Xcode,Cocoa Touch,我有子类UITableViewController,表内有自定义单元格。这个自定义单元格内部有子类UIView。所以这个UIView是在它自己的类中编写的。在我的代码中,UITableViewController类名为MainViewController.h/.m,UIView的类名为ContentView.h/.m,因此在ContentView中我添加了一个图像和TapGestureRecognitor。点击图像时,某些日期(在本例中为数字)将发送至MainViewController。第一个

我有子类UITableViewController,表内有自定义单元格。这个自定义单元格内部有子类UIView。所以这个UIView是在它自己的类中编写的。在我的代码中,UITableViewController类名为MainViewController.h/.m,UIView的类名为ContentView.h/.m,因此在ContentView中我添加了一个图像和TapGestureRecognitor。点击图像时,某些日期(在本例中为数字)将发送至MainViewController。第一个问题是委托方法没有被调用。若我用notificationCenter调用它,它记录为0.00000,有人能帮我将数据从单元格内的视图传递到ViewController吗

这是我的代码:

ContentView.h:

@class ContentView;
@protocol ContentViewDelegate
- (void)passDigit:(float)someDigit;
@end

#import <UIKit/UIKit.h>
#import "MainViewController.h"

@interface ContentView : UIView
{
    id <ContentViewDelegate> delegate;
    float someDigit;
}

@property float someDigit;
@property (assign) id <ContentViewDelegate> delegate;

@end
MainViewController.h

#import <UIKit/UIKit.h>
#import "ContentView.h"

@interface MainViewController : UITableViewController <UITableViewDelegate, UITableViewDataSource, UIScrollViewDelegate, ContentViewDelegate>
@end

不确定你想做什么,可能是因为你是新手,正在学习一些东西。尝试执行以下操作:

在mainViewController中更改方法

- (void) showDetailViewControllerWithDigit:(float)someDigit
{
  NSLog(@"%f",someDigit);
}

它应该会起作用。这里也不太相关,但您在两个不同的地方拼写了delegate和delegete。请注意,它们都将被视为两个不同的变量。虽然没有必要使用相同名称的实例变量,但我绝对不会有轻微的输入错误,因为它会在以后引起很多问题

为委托定义协议时,在那里定义的方法应该在委托类中实现

同样,在您的代码中,显然您遗漏了一些部分,这些部分显示了在主视图控制器中添加contentView的位置。我假设你有

[self.view addSubview:contentView];
在viewDidLoad或其他位置,如果没有它,您甚至无法看到contentView,因此无法点击它


快乐编码。

你为什么不更新上一个问题?因为我改了。这里我没有使用notificationcenter。你没有真正更改它;您刚刚删除了一些文本…您是否在MainViewController中实现了委托方法?如果是,请张贴
-(void)passDigit:(float)someDigit的内容我只使用我的方法的名称。现在它被编辑了。康科莱什么也不出。所以passDigit:没有人打电话。为我的错误道歉。在我的课堂上,我有正确的拼写,我在这里写的时候犯了错误。我检查名称和密码:方法不会被调用。问题在哪里。I该视图添加到自定义cellView中。我想从MainViewController访问它,它是UITableViewController的子类。我能看到视图,我能识别触摸,我测试它,所以代理肯定有问题。有人能告诉我如何从cellView访问视图中的数据吗。
- (void) showDetailViewControllerWithDigit:(float)someDigit
{
  NSLog(@"%f",someDigit);
}
- (void)passDigit:(float)someDigit
{
  NSLog(@"%f",someDigit);
}
[self.view addSubview:contentView];