Теперь у меня есть 2 контроллера представления, и оба получили табличные представления.Когда я выбираю строку во втором табличном представлении (используя didSelectRowAtIndexPath),
и хочу передать информацию, полученную во втором представлении, в первое представление, я попытался использовать делегат и протокол, но не знаю почему, Это не сработало.
И я попытался использовать метод класса внутри первого класса, когда я получил переменную в втором представлении, вызов метода класса внутри первого класса.Переменная успешно передается первому представлению,
, но когда я хочу установить текст метки, она все равно не удалась ..
Может кто-нибудь научить меня, как это сделать?спасибо!
Мой протокол и делегат.
Это второе представление.
@protocol CategoriesViewControllerDelegate;
@interface CategoriesViewController : UIViewController {
TableViewNewAppDelegate *appDelegate;
id <CategoriesViewControllerDelegate> delegate;
}
@property (nonatomic, assign) id <CategoriesViewControllerDelegate> delegate;
@end
@protocol CategoriesViewControllerDelegate <NSObject>
-(void)backstring:(NSString *)String;
@end
В файле .m синтезируйте его
@implementation CategoriesViewController
@synthesize delegate;
didSelectRowAtindexPath
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
CategoryData *CateObj = [appDelegate.CateArray objectAtIndex:indexPath.row];
NSString *Strings = [NSString stringWithString:CateObj.CateTitle];
[delegate backstring:Strings];
[self.parentViewController dismissModalViewControllerAnimated:YES];
}
В первом представлении .h файл контроллера.
#import "CategoriesViewController.h"
@interface DataController : UIViewController <CategoriesViewControllerDelegate>{
.m файл
-(void)backstring:(NSString *)String {
NSLog(@"%@",String);
jCateField.text = String;
}
Это то, как я делаюмой протокол + делегат.Что-то не так?
Кстати, я создал метод Class в первом контроллере представления и использую метод Class в контроллере второго представления, он успешно передает переменную первому контроллеру представления.
Но проблема в том, что я не могу установить текст Label внутри моего метода Class, даже вызывая метод Instance для установки текста.Есть ли способ решить эту проблему?