需要将按钮ID从一个.m传递到另一个并同时清除我的表视图,以便我可以加载新数据。似乎没有发生任何事情,该表仍然包含它在viewDidLoad上填充的内容和背景图片不会改变。请帮忙。
没有警告或错误,所以我不确定我做错了什么但是ClassTwo.h中senderIdentifier的值总是为0
谢谢。
在我的classOne.m中,我有以下按钮操作
-(IBAction) btnPushViewtabel:(id)sender{
ClassTwo *classtwo = [[ClassTwo alloc]init];
classtwo.myTable = nil;
classtwo.senderIdentifier = [sender tag];
[self.view addSubview:viewtableController.view];
}
ClassTwo.h中的
@interface ClassTwo : UIViewController <UITableViewDelegate, UITableViewDataSource> {
....
int senderIdentifier;
}
@property (nonatomic, readwrite) int senderIdentifier;
ClassTwo.m中的
if(senderIdentifier == 0){
// getNewData
//set background img1
} else {
// getNewData
//set background img2
}
答案 0 :(得分:0)
if(mySenderIdentifier == 0){// getNewData //设置背景img1} else {// getNewData // set 背景img2}
这个代码块有什么方法?
修改强>
这一行:
classtwo.mySenderIdentifier = [发件人 标签];
之后调用:
viewDidLoad中
换句话说 - 当你检查它时,你还没有实际设置它。
有很多方法可以解决这个问题,但我个人的偏好是为classTwo创建一个自定义的init方法,如下所示:
- (ID)initWithSenderIdentifier:(INT)标识符{
if(self=[super init]){ self.senderIdentifier = identifier; self.myTable = nil; } return self;
}
或者需要存储int(因为它仅用于设置背景一次)
- (ID)initWithSenderIdentifier:(INT)标识符{
if(self=[super init]){ if(identifier)//set backgroundimg1; else //set backgroundimg2; self.myTable = nil; } return self;
}
你这样使用它:
ClassTwo * classtwo = [[ClassTwo alloc] initWithSenderIdentifier:[sender tag]];
如果这有用,请标记已回答