2017-03-21 6 views
0

私はユーザーがデータモデルに画像を追加できるようにするアプリを開発中です。 (私はレルムを使用していますが、私は過去にCoreDataとSQLiteのと同じことをやった)私はこのようなコードでモデルオブジェクトを構築し始めました:UIImageがFoundationフレームワークの一部ではないのはなぜですか?

import Foundation 
import RealmSwift 

class Picture: Object { 
    dynamic var imagePath: NSString = "" 

    var image: UIImage { 
     get { 
      ... 
     } 
     set(UIImage) { 
      ... 
     } 
    } 
} 

もちろんこれは、スウィフトコンパイラエラーを生成します:

Use of undeclared type 'UIImage' 

import UIKitは、この問題を解決追加するが、その後、私は疑問に思っ:

  • はなぜUIImageデータモデルタイプではないのですか?

  • なぜFoundationUIImage一部ではないですか?

誰でも知っていますか?

+1

しかし、なぜでしょうか? UIImageはiOS上に画像を提示するためのもので、macOS用のNSImageの対応があります。だからなぜUIImageは財団にありますか?財団は*すべてのプラットフォームで共有されていることを知っていますか?また、画像は基本の一部ではありません。画像の取り扱いは、財団には行かないでください。 – Moritz

+1

私は答えは分かりませんが、おそらくUIImageは*実際の画像がファイルまたはNSDataとして格納されているUIで画像を表示するためにのみ使用されることになっています。 –

+0

@EricAya答えとして投稿する必要があります。 – rmaddy

答えて

2

Why isn't UIImage part of Foundation?

なぜでしょうか? (:... watchOS、tvOSおよび拡張のiOSファミリー):)

UIImageクラスは、iOS上の画像を提示するためです。 macOSにはNSImageクラスがあります。

それは財団は、すべてのプラットフォーム上で共有されているのでUIImageは、財団ではないことを意味します。

また、画像は、ファウンデーションクラスは、アドレスしようとするものであるコンピューティングシステムの基礎の一部ではありません。

ので取り扱いの画像は財団ではなく、より高いレベル、特定のプラットフォームのための可能性の特殊なもののクラスで行くべきではない、それはAppleがUIImageとNSImageではで行っているものです。

関連する問題