Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.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
Ios 单击表视图时,使其仅在第一次单击时追加字符串,而不是在didSelectRowAtIndexPath中再次单击时追加字符串_Ios_Objective C_Uitableview_Didselectrowatindexpath - Fatal编程技术网

Ios 单击表视图时,使其仅在第一次单击时追加字符串,而不是在didSelectRowAtIndexPath中再次单击时追加字符串

Ios 单击表视图时,使其仅在第一次单击时追加字符串,而不是在didSelectRowAtIndexPath中再次单击时追加字符串,ios,objective-c,uitableview,didselectrowatindexpath,Ios,Objective C,Uitableview,Didselectrowatindexpath,我正在使用表视图浏览FTP上的文件。当用户输入url时,我会在url字段中附加已单击行的路径。第一次单击可以正常工作,但当用户再次单击时,会添加两个反斜杠。我只想在第一次单击时添加反斜杠。是否可以添加另一次单击的检查?希望我清楚问题。请救命啊` - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { NSDictionary * listEntry

我正在使用表视图浏览FTP上的文件。当用户输入url时,我会在url字段中附加已单击行的路径。第一次单击可以正常工作,但当用户再次单击时,会添加两个反斜杠。我只想在第一次单击时添加反斜杠。是否可以添加另一次单击的检查?希望我清楚问题。请救命啊`

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    NSDictionary *      listEntry;
    listEntry = [self.listEntries objectAtIndex:((NSUInteger) indexPath.row) - 1];
    NSString *dict=[listEntry objectForKey:(id) kCFFTPResourceName];
    NSLog(@"dict%@",dict);
    NSString *fvalue = [NSString stringWithFormat:@"/%@/",dict];
    NSLog(@"%@",fvalue);

    NSString  *appendURl=[NSString stringWithFormat:@"%@%@",self.urlText.text,fvalue];

    self.urlText.text=appendURl;


}

通过if-else条件和hasSuffix处理,问题得到了解决`

if ([self.urlText.text hasSuffix:@"/"]) 
{
    appendURl=[NSString stringWithFormat:@"%@%@",self.urlText.text,fvalue];
}
else
{
    appendURl=[NSString stringWithFormat:@"%@/%@",self.urlText.text,fvalue];
}

通过if-else条件和hasSuffix处理,问题得到了解决`

if ([self.urlText.text hasSuffix:@"/"]) 
{
    appendURl=[NSString stringWithFormat:@"%@%@",self.urlText.text,fvalue];
}
else
{
    appendURl=[NSString stringWithFormat:@"%@/%@",self.urlText.text,fvalue];
}

cellForRow
方法中的
self.urlText.text
中最初设置的值是什么?urlpath/foldername/如果文件夹包含子文件夹,则它是url path/foldername//subfolder/对于子文件夹,我不想添加反斜杠,即前缀backspace。如果要忽略每个项目的进一步单击,您需要在某处跟踪每个项目的“已单击状态”(包含所有已单击项目的索引路径的列表,包含实际项目和已单击状态的结构…)。如果您只想第一次单击整个tableview,则只需设置一个单选标志并选中一次单击即可。由于实际问题是多个反斜杠,因此您应该确保正确存储路径,而不存在前导和尾随反斜杠,这样您就可以完全控制斜杠的放置位置。如果我删除前导反斜杠,如“NSString*fvalue=[NSString stringWithFormat:@“%@/”,dict];“如果我手动输入”/,则效果良好”在url路径的末尾,如果我以编程方式执行,则会出现问题。在
cellForRow
方法中的
self.urlText.text
中最初设置的值是什么?urlpath/foldername/如果文件夹包含子文件夹,则子文件夹的值是url path/foldername//subfolder/,我不想添加反斜杠,即前缀backspace。如果您想忽略进一步单独单击每个项目,您需要在某处跟踪每个项目的“已单击状态”(包含所有单击项目的索引的列表,包含实际项目和单击状态的结构…)。如果您只想第一次单击整个tableview,则只需设置一个单选标志并选中一次单击即可。由于实际问题是多个反斜杠,因此您应该确保正确存储路径,而不存在前导和尾随反斜杠,这样您就可以完全控制斜杠的放置位置。如果我删除前导反斜杠,如“NSString*fvalue=[NSString stringWithFormat:@“%@/”,dict];“如果我手动输入”/,则效果良好”在url路径的末尾,若按编程方式执行,则会出现问题。