我希望找到一种方法来添加didSelectRowAtIndexPath:
'小区名称'通过didDismissWithButtonIndex:
方法在表格中选择:
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {
if (buttonIndex == 1) {
Database *currentStore = [DBList objectAtIndex:indexPath.row];
NSString *requestStr = @"http://";
requestStr = [requestStr stringByAppendingString:hostTextField.text];
requestStr = [requestStr stringByAppendingString:@":8080/compfile2.php?password="];
requestStr = [requestStr stringByAppendingString:passwordTextField.text];
requestStr = [requestStr stringByAppendingString:@"&db=latinbites"];
requestStr = [requestStr stringByAppendingString:currentStore];
}
显然,
Database *currentStore = [DBList objectAtIndex:indexPath.row];
不正确。有没有办法在所选单元格行上放一个字符串?
答案 0 :(得分:1)
我相信我理解你想要达到的目标。尝试以下代码: -
否。 1 - 使用NSString
声明属性@interface TableViewController ()<UITableViewDataSource,UITableViewDelegate>
@property (nonatomic,strong) NSString * selectedCellName;
@end
否。 2 - 在 didSelectRowAtIndexPath
中-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
UITableViewCell* cell = [tableView cellForRowAtIndexPath:indexPath];
self.selectedCellName = cell.textLabel.text;
}
否。 3 - 在 didDismissWithButtonIndex 中,附加单元格名称。
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {
if (buttonIndex == 1) {
NSString *requestStr = @"http://";
requestStr = [requestStr stringByAppendingString:hostTextField.text];
requestStr = [requestStr stringByAppendingString:@":8080/compfile2.php?password="];
requestStr = [requestStr stringByAppendingString:passwordTextField.text];
requestStr = [requestStr stringByAppendingString:@"&db=latinbites"];
requestStr = [requestStr stringByAppendingString:self.selectedCellName];
}
}
答案 1 :(得分:0)
您想要做的事情令人困惑(为什么不让他们点击桌面而不是警报视图?),可以这样做。
首先,请参阅How to programmatically “tap” a UITableView cell? - 之后您需要的只是让NSIndexPath
个对象发送到该方法。
NSIndexPath *cellToTap = [NSIndexPath indexPathForRow:buttonIndex inSection:theSection];
该部分应由您决定。如果表视图中只有一个部分,则为0。
答案 2 :(得分:0)
我认为您正在寻找名为indexPathForSelectedRow
的UITableView方法。只要仍有选择,这将回答您需要的索引路径。
如果有可能丢失选择(在用户选择之后并且在警报被解除之前),那么更安全的赌注是在didSelect方法触发时将选择记录在属性中。
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {
if (buttonIndex == 1) {
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
Database *currentStore = DBList[indexPath.row];
// ...