我的问题是,这是否可能,如果是这样,你将如何处理这项任务?
有没有人知道已经使用此功能的应用程序,或者在哪里获得一些示例代码?
另外,如果我自己实现这一点而不太了解该主题,那么你对完成它需要多长时间的估计是什么?
还有一点需要注意,因为它可能会使事情变得更复杂:目标表在默认情况下处于editmode状态,因此用户可以重新排列单元格(使用附件视图中的标准重新排序控件),这些已经放在那里.
编辑:
我只是尝试在我的帖子中包含概念图像的屏幕截图.图像左侧显示一个表格,右侧显示灰色下降区域.我的客户说他也在其他应用程序上看到了这一点,因此必须有一些我不知道的ui元素.
我没有在开发者库中找到关于这样一个下降区域的任何内容,所以希望你们中的一个可以给我指示或清理.
首先,我创建一个这样的串行队列
static dispatch_queue_t queue = dispatch_queue_create("myQueue", DISPATCH_QUEUE_SERIAL);
Run Code Online (Sandbox Code Playgroud)
然后,在某个未知的时间点,任务会像这样添加到队列中
dispatch_async(queue, ^{
// do something, which takes some time
});
Run Code Online (Sandbox Code Playgroud)
如果第一个任务尚未完成,则新任务将等到第一个任务完成(当然这是串行队列的用途).
但是如果我向队列中添加5个新任务,而原来的第一个任务仍然在运行,我不想执行新的任务1,然后是2号,然后是3号,依此类推,但是想要获得删除任务1到4,并在原始第一个任务完成后直接开始执行任务5.
换句话说,如果我添加一个新任务,我想要从队列中弹出任何等待任务(不是当前正在运行的任务).
是否有内置机制或我是否必须自己实现?对于后者,我如何识别队列中的单个任务并将其删除?
好的,所以您可以通过dictionary[key]
或获得单个值或所有值dictionary.Values
.
我正在寻找的是一种获取给定键集的所有值的方法:
List<string> keys;
Dictionary<string, object> dictionary;
List<object> valuesForKeys = GetValuesFromDictionaryUsingKeys(dictionary, keys);
Run Code Online (Sandbox Code Playgroud)
同
private List<object> GetValuesFromDictionaryUsingKeys(Dictionary<string, object> dictionary, List<string> keys)
{
//your code here
}
Run Code Online (Sandbox Code Playgroud)
当然,我可以手动遍历密钥列表并使用dictionary[key]
每次并将所有值重新添加回列表,但我想使用更优雅的方式(例如Linq).
谢谢.