问题列表 - 第17115页

在源列表中显示固定和可编辑的项目

背景

我正在为我的应用程序创建一个源列表,我希望它的结构类似于iTunes,有两种类型的项目:

  • "固定"项目 - 这些项目不会更改,也无法移动 - 位于顶部
  • 编辑项下,这可以由用户来改变-到处移动,重命名等(在iTunes例如,像播放列表和智能播放列表)

在我的iTunes比喻中:

iTunes来源列表http://perspx.com/wp-content/uploads/2010/02/itunessourcelist.jpg

到目前为止,我构建数据的方式如下:

  • 我想要编辑的项目是"组"项,以Group核心数据实体的形式.
  • 源列表中的每个项目都表示为SourceListItem常规的Objective-C对象,以便我可以将每个项目与标题,图标,子项目等相关联.
  • 固定项目当前由SourceListItem实例表示,存储在我的控制器对象的数组中.

问题

我不确定如何将这两种类型的项目合并到源列表中,以便固定项目位于顶部并始终存在且不会更改,可编辑项目位于底部,可以移动和编辑.

这些是我到目前为止提出的想法:

  • 将固定项添加到Core Data模型.这意味着我可以创建一个实体来表示源列表项,并将我的固定和可编辑项放在这些项的实例中.然后可以使用Array/Tree Controller将这些绑定到Outline View表列.但是,这意味着我必须创建一个新实体来表示源列表项,然后将其Group与此同步.我还必须有一些方法只创建一次所有固定项目,如果任何持久存储文件发生了某些事情,那么固定项目将不会显示.

  • 将固定项目与组项目合并.虽然两者都存储在单独的数组中,但是当Outline View请求数据时(如果采用NSOutlineViewDataSource协议,而不是绑定),这可以在我的窗口的控制器中完成.但是,这意味着我必须为SourceListItem阵列控制器中的每个组创建新的s(将每个组与图标和其他属性相关联),存储这些,然后观察组阵列控制器以进行更改以删除,添加或修改SourceListItem实例对组进行更改.

有没有人对如何实现这个有更好的想法?

我希望我的应用程序与OS X v10.5兼容,所以我更喜欢任何依赖于安装Snow Leopard的解决方案.

cocoa core-data objective-c

13
推荐指数
2
解决办法
1788
查看次数

任何人都可以在C#界面中使用静态方法吗?

我想实现一个集合,其项目需要进行空虚测试.在引用类型的情况下,将测试为null.对于值类型,必须实现空测试,并且可能选择表示空白的特定值.

我的T的一般集合应该是两个值和参考类型值可用(意味着Coll<MyCalss>Coll<int>都应该是可能的).但我必须以不同方式测试引用和值类型.

拥有一个实现IsEmpty()方法的接口,从我的泛型类型中排除这个逻辑,这不是很好吗?但是,当然,这个IsEmpty()方法不能是成员函数:它无法在空对象上调用.

我找到的一个解决方法是将收集项目存储为对象,而不是Ts,但它让我头疼(围绕拳击和强类型).在旧的C++中没有问题:-)

下面的代码演示了我想要实现的目标:

using System;
using System.Collections.Generic;

namespace StaticMethodInInterfaceDemo
{
  public interface IEmpty<T>
  {
    static T GetEmpty();  // or static T Empty;

    static bool IsEmpty(T ItemToTest);
  }


  public class Coll<T> where T : IEmpty<T>
  {
    protected T[] Items;

    protected int Count;


    public Coll(int Capacity)
    {
      this.Items = new T[Capacity];
      this.Count = 0;
    }

    public void Remove(T ItemToRemove)
    {
      int Index = Find(ItemToRemove);

      // Problem spot 1: This throws a compiler error: "Cannot convert null …
Run Code Online (Sandbox Code Playgroud)

c# methods static interface

0
推荐指数
1
解决办法
770
查看次数

如何打印课程内容?

我有一个新手问题!我想做这样的事情:

puts Example.new([a,b,c])
Run Code Online (Sandbox Code Playgroud)

结果是

=> a,b,c
Run Code Online (Sandbox Code Playgroud)

我试过这样的事情:

class Example
  attr_accessor :something
  def initialize(something)
  @something = something
  puts @something
  end
end
Run Code Online (Sandbox Code Playgroud)

它有效,但不是我想要的!谢谢!

ruby

0
推荐指数
2
解决办法
7081
查看次数

关于C - union中的union作为一种类型并且读作另一种类型的问题 - 是否已实现定义?

我正在阅读K&R中关于C的联合,据我所知,联合中的单个变量可以包含几种类型中的任何一种,如果某些东西存储为一种类型并且提取为另一种,则结果纯粹是实现定义的.

现在请检查以下代码段:

#include<stdio.h>

int main(void)
{
  union a
  {
     int i;
     char ch[2];
  };

  union a u;
  u.ch[0] = 3;
  u.ch[1] = 2;

  printf("%d %d %d\n", u.ch[0], u.ch[1], u.i);

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出:

3 2 515
Run Code Online (Sandbox Code Playgroud)

在这里,我在分配值u.ch,但来自检索u.chu.i.它是实现定义的吗?或者我做的事情真的很傻?

我知道这对其他大多数人来说似乎都是初学者,但我无法弄清楚输出背后的原因.

谢谢.

c undefined undefined-behavior unions

29
推荐指数
5
解决办法
8598
查看次数

正则表达式获取span标签的innertext

我想解析下面的字符串以获取值"46.4400 INR"

<div id=currency_converter_result>1 USD = <span class=bld>46.4400 INR</span>
<input type=submit value="Convert">
</div>
Run Code Online (Sandbox Code Playgroud)

我需要使用什么正则表达式?

php regex

0
推荐指数
1
解决办法
4784
查看次数

如何配置Apache FtpServer?

我在 Apache FtpServer 的文档中发现了这个非常简单的描述:

与 Spring 框架集成

Apache FtpServer 使用 Spring Framework 来实现配置。这也意味着我们获得了与常规 Spring XML 配置完全集成的额外好处。例如,您可以在 Spring 配置中的任何位置嵌入“服务器”元素,并且在类路径上使用 FtpServer,Spring 将为您连接服务器。

没有别的关于:

  1. 我应该把这个配置文件放在哪里?
  2. 文件名应该是什么?
  3. 应用程序如何找到该文件?

我是否学习过 Spring 的 Configure Framework 以了解所有相关信息?

ftp spring

3
推荐指数
1
解决办法
2万
查看次数

为什么鱿鱼适合REST架构?

文章中,有人认为,使用内存缓存如果你经常从数据库中获取随机实体,和Squid如果使用REST架构.请解释原因(关于鱿鱼).

rest optimization caching squid

5
推荐指数
2
解决办法
1777
查看次数

是否有可嵌入的简单Java FTP Server库?

我已经尝试过Apache FTP Server但它缺乏文档和支持.

它完全基于Spring配置框架,我认为我不能很快理解.

我想要的只是

  1. 一个简单的FTP服务器,我可以嵌入到我的应用程序中
  2. 我可以使用自己的代码处理"下载"命令,从数据库而不是从静态文件发送一些数据.

有什么建议吗?

java ftp

11
推荐指数
1
解决办法
1万
查看次数

使用JIT设计虚拟机

我正在开发一种脚本语言,它可以编译自己的虚拟机,这是一个简单的脚本语言,可以处理某些数据,如,向量,浮点数等等.内存单元以这种方式表示:

struct memory_cell
{
    u32 id;
    u8 type;

    union
    {
        u8 b; /* boolean */
        double f; /* float */
        struct { double x, y, z; } v; /* vector */
        struct { double r, g, b; } c; /* color */
        struct { double r, g, b; } cw; /* color weight */
        struct { double x, y, z; } p; /* point variable */
        struct { u16 length; memory_cell **cells; } l; …
Run Code Online (Sandbox Code Playgroud)

c++ vm-implementation

4
推荐指数
2
解决办法
3102
查看次数

"闭合"和"块"之间究竟有什么区别?

我发现很多人使用闭包互换的词.这些人中的大多数都无法解释他们在谈论什么.

一些Java程序员(甚至来自真正昂贵的咨询公司)将匿名内部类称为"块"和"闭包" - 但我知道这不是真的.(你不能从定义它们的方法范围中传递可变变量......)

我在找:

  • 块的精确计算机科学定义
  • 关闭的精确计算机科学定义
  • 澄清两者之间的区别.

我真的很想看到关于这些的链接,文章或书籍参考.

theory computer-science programming-languages language-theory

45
推荐指数
3
解决办法
9529
查看次数