代码之家  ›  专栏  ›  技术社区  ›  willc2

cocoa中是否存在整数向量结构,或者我应该定义自己的结构?

  •  0
  • willc2  · 技术社区  · 15 年前

    我在跟踪作为数组索引和其他东西的整数和非整数对。

    是否有类似于已经定义的cgpoint的东西?

    如果重要的话,我在iphone上做图形处理。

    3 回复  |  直到 15 年前
        1
  •  3
  •   AlBlue RACGAMERUP    15 年前

    定义自己的结构来保存数据是相当容易的。您可以使用cgpoint结构类型(其中nspoint在很大程度上是一个define别名),但您确实需要定义使用它的目的。

    typedef struct _pair {
      int first,
      int second
    } pair;
    

    然后你可以做:

    成对的; 第一个= 1; foo.second=2;

    注意,只有在元素数量固定的情况下,这才是明智的。如果你在寻找一组元素,你真的需要一组整数。

        2
  •  3
  •   bbum    15 年前

    有nsindexset,它可以包含一系列索引,并具有一些方便的操作API。

    对于简单的需求,您可以定义一个结构,或者更好的是声明一个类。我经常用一组@properties@来声明一个类,用它合成所有的getter/setter来封装数据。简单,代码很少,而且它简化了重构,以便以后添加功能(例如,如果您决定您的结构真正想要成为一个类的话)。

        3
  •  1
  •   Jonathan Sterling    15 年前

    CGPoint NSPoint (注意 NSPOT 在iPhone上不可用)会很好地工作,但您需要考虑使用两者的语义含义。如果你真的在处理向量,那么你应该使用向量。但是,如果您只是处理成对索引,那么您可能需要声明自己的结构或类。

    如果您确定您只需要一个数据结构(即,除了包含数据之外没有任何功能的东西),那么声明一个C结构。它真的很简单,比Objective-C类的内存要少。不过,如果您希望它具有内置功能,可以使用@bbum解释过的类。