适用于Mac OS和iOS的通用类

时间:2015-04-22 19:12:04

标签: swift

我想为Mac OS和iOS-App创建一个类。不幸的是,我不能在iOS上使用NSColor,在Mac OS上也不能使用UIColor。

其实我有以下代码:

  if (fgets(buffer, MAX_DIMENSION, stdin) == NULL) {
    perror("Error");
    exit(1);
  }
  if (strchr(buffer, '\n') == NULL) {
    int ch;
    printf("Not correct term\n");
    while (((ch = getchar()) != '\n') && (ch != EOF))
      ;
    // while(getchar()!='\n');
    sleep(1);
  }

还有更好的方法吗?

1 个答案:

答案 0 :(得分:11)

您应该可以使用typealias作为颜色类,如下所示:

#if os(iOS)
    typealias XColor = UIColor
#elseif os(OSX)
    typealias XColor = NSColor
#endif

func myFunc(color: XColor?) {
    self.myFuncX(color)
}

我们的想法是将条件编译限制为XColor的类型定义,然后根据特定系统的要求使用该类型别名代替UIColorNSColor。< / p>