Foundation データ型リファレンス


概要


このドキュメントでは、Foundation フレームワーク内で見られるデータ型と定数について説明します。


訳注:Foundation Data Types Reference には、2種類あり、バージョンにより違うものかと思ったが、よく見ると iOS と OS X で書き分けてある。内容はほぼ同じなので、長い方を訳出し、必要に応じて書き加えてある。


データ型





NSAppleEventManagerSuspensionID


その処理が停止されている Apple イベントを識別します。Apple イベントの処理を再開するために使えます。


宣言


<< SWIFT >>

typealias NSAppleEventManagerSuspensionID = COpaquePointer


<< OBJECTIVE-C >>

typedef const struct __NSAppleEventManagerSuspension *NSAppleEventManagerSuspensionID;


import 文


<< OBJECTIVE-C >>

@import Foundation;

<< SWIFT >>

import Foundation



利用可能

OS X 10.3 以降で利用可能。





NSComparator


比較演算に使用されるブロックオブジェクトの署名を定義します。


宣言


<< SWIFT >>

typealias NSComparator = (AnyObject!, AnyObject!) -> NSComparisonResult


<< OBJECTIVE-C >>

typedef NSComparisonResult (^NSComparator)(id obj1, id obj2);


議論

ブロックへの引数は、比較する2つのオブジェクトです。ブロックは、2つのオブジェクトの順序を示すため NSComparisonResult 値を返します。

NSArraysortedArrayUsingComparator: のような比較演算で NSComparator ブロックを使用して下さい。次に例を示します:


  1. NSArray *sortedArray = [array sortedArrayUsingComparator: ^(id obj1, id obj2) {
  2.         if ([obj1 integerValue] > [obj2 integerValue]) {
  3.                return (NSComparisonResult)NSOrderedDescending;
  4.        }
  5.        if ([obj1 integerValue] < [obj2 integerValue]) {
  6.                return (NSComparisonResult)NSOrderedAscending;
  7.        }
  8.        return (NSComparisonResult)NSOrderedSame;
  9. }];


import 文


<< OBJECTIVE-C >>

@import Foundation;


<< SWIFT >>

import Foundation



利用可能

OS X 10.6 以降で利用可能。

iOS 4.0 以降で利用可能





NSDecimal


十進数を記述するために使用されます。


宣言


<< OBJECTIVE-C >>

typedef struct {
      signed int _exponent:8;
      unsigned int _length:4;
      unsigned int _isNegative:1;
      unsigned int _isCompact:1;
      unsigned int _reserved:18;
      unsigned short _mantissa[NSDecimalMaxSize];
} NSDecimal;


議論

NSDecimal のフィールドは private です。


十進数に記載されている関数によって使用されます。


import 文


<< OBJECTIVE-C >>

@import Foundation;


利用可能

OS X 10.0 以降で利用可能。

iOS 2.0 以降で利用可能





NSHashEnumerator


ハッシュテーブルの連続した要素は、この構造体が NSNextHashEnumeratorItem に渡されるたびに返されるのを可能にします。


宣言


<< SWIFT >>

struct NSHashEnumerator {
    var _pi: Int
    var _si: Int
    var _bs: UnsafeMutablePointer<Void>
}


<< OBJECTIVE-C >>

typedef struct {
      unsigned _pi;
      unsigned _si void *_bs;
} NSHashEnumerator;


議論

NSHashEnumerator のフィールドは private です。


import 文


<< OBJECTIVE-C >>

@import Foundation;


<< SWIFT >>

import Foundation



利用可能

OS X 10.0 以降で利用可能。





NSHashTable


Foundation 関数リファレンス の「ハッシュテーブル」で説明した関数によって使用される不透明なデータ型。


宣言


<< OBJECTIVE-C >>

typedef struct _NSHashTable NSHashTable;


議論

OS X 10.5 以降では、NSHashTable を参照のこと。


import 文


<< OBJECTIVE-C >>

@import Foundation;


利用可能

OS X 10.0 以降 OS X 10.4 までで利用可能。

64 ビットアプリケーションでは使用できません。





NSHashTableCallBacks


マップテーブル内のキー要素に対する NSMapTable の動作を設定するために使用される関数ポインタ。


宣言


<< SWIFT >>

struct NSMapTableKeyCallBacks {
    var hash: CFunctionPointer<((NSMapTable!, UnsafePointer<Void>) -> Int)>
    var isEqual: CFunctionPointer<((NSMapTable!, UnsafePointer<Void>, UnsafePointer<Void>) -> Bool)>
    var retain: CFunctionPointer<((NSMapTable!, UnsafePointer<Void>) -> Void)>
    var release: CFunctionPointer<((NSMapTable!, UnsafeMutablePointer<Void>) -> Void)>
    var describe: CFunctionPointer<((NSMapTable!, UnsafePointer<Void>) -> String!)>
    var notAKeyMarker: UnsafePointer<Void>
}

<< OBJECTIVE-C >>

typedef struct {
      unsigned (*hash)(NSMapTable *table, const void *);
      BOOL (*isEqual)(NSMapTable *table, const void *, const void  *);
      void (*retain)(NSMapTable *table, const void *);
      void (*release)(NSMapTable *table, void *);
      NSString *(*describe)(NSMapTable *table, const void *);
} NSMapTableCallBacks;


議論

すべての関数は、それらを操作することができるようにハッシュテーブル内の物の型を知っていなければなりません。事前に定義されたコールバックのセットは NSHashTable クラスリファレンス で説明しています。


import 文


<< OBJECTIVE-C >>

@import Foundation;


<< SWIFT >>

import Foundation



利用可能

OS X 10.0 以降で利用可能。





NSHashTableOptions


NSHashTable のインスタンス内の要素の動作を設定するために使用されるビットフィールドを指定します。


宣言


<< SWIFT >>

typealias NSHashTableOptions = Int


<< OBJECTIVE-C >>

typedef NSUInteger NSHashTableOptions


import 文


<< OBJECTIVE-C >>

@import Foundation;


<< SWIFT >>

import Foundation



利用可能

OS X 10.5 以降で利用可能。

iOS 6.0 以降で利用可能





NSInteger


整数を記述するために使用されます。


宣言


<< SWIFT >>

typealias NSInteger = Int


<< OBJECTIVE-C >>

typedef long NSInteger;


議論

32 ビット·アプリケーションをビルドする場合、NSInteger は 32 ビットの整数です。64 ビットアプリケーションは 64 ビット整数として NSInteger を扱います。


import 文


<< OBJECTIVE-C >>

@import Foundation;


<< SWIFT >>

import Foundation



利用可能

OS X 10.5 以降で利用可能。

iOS 2.0 以降で利用可能





NSMapEnumerator


マップテーブルの連続した要素は、この構造体が NSNextMapEnumeratorPair に渡されるたびに返されます。


宣言


<< SWIFT >>

struct NSMapEnumerator {
    var _pi: Int
    var _si: Int
    var _bs: UnsafeMutablePointer<Void>
}


<< OBJECTIVE-C >>

typedef struct {
      unsigned _pi;
      unsigned _si;
      void *_bs;
} NSMapEnumerator;



議論

NSMapEnumerator のフィールドは private です。


import 文


<< OBJECTIVE-C >>

@import Foundation;


<< SWIFT >>

import Foundation



利用可能

OS X 10.0 以降で利用可能。



NSMapTable


Foundation 関数リファレンスマップテーブルの管理で説明した関数で使われる不透明なデータ型。


宣言

<< OBJECTIVE-C >>

typedef struct _NSMapTable NSMapTable;



議論

OS X 10.5 以降では、NSMapTable を参照のこと。


import 文


<< OBJECTIVE-C >>

@import Foundation;


利用可能

OS X 10.0 以降 OS X 10.4 までで利用可能。

64 ビットアプリケーションでは使用できません。





NSMapTableKeyCallBacks


マップテーブル内のキーの要素に対する NSMapTable の動作を設定するために使用される関数ポインタ。


宣言


<< SWIFT >>

struct NSMapTableKeyCallBacks {
    var hash: CFunctionPointer<((NSMapTable!, UnsafePointer<Void>) -> Int)>
    var isEqual: CFunctionPointer<((NSMapTable!, UnsafePointer<Void>, UnsafePointer<Void>) -> Bool)>
    var retain: CFunctionPointer<((NSMapTable!, UnsafePointer<Void>) -> Void)>
    var release: CFunctionPointer<((NSMapTable!, UnsafeMutablePointer<Void>) -> Void)>
    var describe: CFunctionPointer<((NSMapTable!, UnsafePointer<Void>) -> String!)>
    var notAKeyMarker: UnsafePointer<Void>
}

<< OBJECTIVE-C >>

typedef struct {
      unsigned (*hash)(NSMapTable *table, const void *);
      BOOL (*isEqual)(NSMapTable *table, const void *, const void  *);
      void (*retain)(NSMapTable *table, const void *);
      void (*release)(NSMapTable *table, void *);
      NSString *(*describe)(NSMapTable *table, const void *);
      const void *notAKeyMarker;
} NSMapTableKeyCallBacks;

議論

すべての関数は、それらに作用すできるようにマップテーブルの物の型を知っている必要があります。事前に定義されたコールバックのセットは NSMapTable クラスリファレンス で説明しています。


notAKeyMarker に使用する2つの定義済みの値は NSNotAnIntMapKeyNSNotAPointerMapKey です。


import 文


<< OBJECTIVE-C >>

@import Foundation;


<< SWIFT >>

import Foundation



利用可能

OS X 10.0 以降で利用可能。





NSMapTableOptions


NSMapTable のインスタンス内の要素の動作を設定するために使用されるビットフィールドを指定します。


宣言


<< SWIFT >>

typealias NSMapTableOptions = Int


<< OBJECTIVE-C >>

typedef NSUInteger NSMapTableOptions


import 文


<< OBJECTIVE-C >>

@import Foundation;


<< SWIFT >>

import Foundation



利用可能

OS X 10.5 以降で利用可能。

iOS 6.0 以降で利用可能






NSMapTableValueCallBacks


マップテーブル内の値要素に対する NSMapTable の動作を設定するために使用される関数のポインタ。


宣言


<< SWIFT >>

struct NSMapTableValueCallBacks {
    var retain: CFunctionPointer<((NSMapTable!, UnsafePointer<Void>) -> Void)>
    var release: CFunctionPointer<((NSMapTable!, UnsafeMutablePointer<Void>) -> Void)>
    var describe: CFunctionPointer<((NSMapTable!, UnsafePointer<Void>) -> String!)>
}

<< OBJECTIVE-C >>

typedef struct {
      void (*retain)(NSMapTable *table, const void *);
      void (*release)(NSMapTable *table, void *);
      NSString *(*describe)(NSMapTable *table, const void *);
} NSMapTableValueCallBacks;

議論

すべての関数は、それらを操作することができるようにマップテーブルで物の型を知っていなければなりません。事前に定義されたコールバックのセットは NSMapTable クラスリファレンスで説明しています。


import 文


<< OBJECTIVE-C >>

@import Foundation;


<< SWIFT >>

import Foundation



利用可能

OS X 10.0 以降で利用可能。



NSPoint


デカルト座標系で表した点。


宣言


<< SWIFT >>

typealias NSPoint = CGPoint


<< OBJECTIVE-C >>

typedef struct _NSPoint {
      CGFloat x;
      CGFloat y;
} NSPoint;


import 文


<< OBJECTIVE-C >>

@import Foundation;


<< SWIFT >>

import Foundation



利用可能

OS X 10.0 以降で利用可能。





NSPointArray


パラメータを示す型は NSPoint 構造体の配列です。


宣言


<< SWIFT >>

typealias NSPointArray = UnsafeMutablePointer<NSPoint>


<< OBJECTIVE-C >>

typedef NSPoint *NSPointArray;


import 文


<< OBJECTIVE-C >>

@import Foundation;


<< SWIFT >>

import Foundation



利用可能

OS X 10.0 以降で利用可能。





NSPointPointer


パラメータを示す型は NSPoint 構造体へのポインタです。


宣言


<< SWIFT >>

typealias NSPointPointer = UnsafeMutablePointer<NSPoint>


<< OBJECTIVE-C >>

typedef NSPoint *NSPointPointer;


import 文


<< OBJECTIVE-C >>

@import Foundation;


<< SWIFT >>

import Foundation



利用可能

OS X 10.0 以降で利用可能。






NSRange


NSArray オブジェクト内の文字列またはオブジェクト内の文字のように一続きの部分を記述するために使用される構造体。


宣言


<< SWIFT >>

typealias NSRange = _NSRange


<< OBJECTIVE-C >>

typedef struct _NSRange {
      NSUInteger location;
      NSUInteger length;
} NSRange;


議論

範囲を操作する Foundation の関数は、次のものがあります。


import 文


<< OBJECTIVE-C >>

@import Foundation;


<< SWIFT >>

import Foundation



利用可能

OS X 10.0 以降で利用可能。


iOS 2.0 以降で利用可能





NSRangePointer


パラメータを示す型は NSRange 構造体へのポインタです。


宣言


<< SWIFT >>

typealias NSRangePointer = UnsafeMutablePointer<NSRange>


<< OBJECTIVE-C >>

typedef NSRange *NSRangePointer;


import 文


<< OBJECTIVE-C >>

@import Foundation;


<< SWIFT >>

import Foundation



利用可能

OS X 10.0 以降で利用可能。

iOS 2.0 以降で利用可能





NSRect


長方形を表します。


宣言


<< SWIFT >>

typealias NSRect = CGRect


<< OBJECTIVE-C >>

typedef struct _NSRect {
      NSPoint origin;
      NSSize size;
} NSRect;


import 文


<< OBJECTIVE-C >>

@import Foundation;


<< SWIFT >>

import Foundation



利用可能

OS X 10.0 以降で利用可能。





NSRectArray


パラメータを示す型は、NSRect 構造体の配列です。


宣言


<< SWIFT >>

typealias NSRectArray = UnsafeMutablePointer<NSRect>


<< OBJECTIVE-C >>

typedef NSRect *NSRectArray;


import 文


<< OBJECTIVE-C >>

@import Foundation;


<< SWIFT >>

import Foundation



利用可能

OS X 10.0 以降で利用可能。





NSRectPointer


パラメータを示す型は、NSRect 構造体へのポインタです。


宣言


<< SWIFT >>

typealias NSRectPointer = UnsafeMutablePointer<NSRect>


<< OBJECTIVE-C >>

typedef NSRect *NSRectPointer;


import 文


<< OBJECTIVE-C >>

@import Foundation;


<< SWIFT >>

import Foundation



利用可能

OS X 10.0 以降で利用可能。





NSSize


二次元のサイズを表します。


宣言


<< SWIFT >>

typealias NSSize = CGSize


<< OBJECTIVE-C >>

typedef struct _NSSize {
      CGFloat width;
      CGFloat height;
} NSSize;

議論

通常は、widthheight の値は負ではありません。 NSSize の構造体を作成する関数は、これらの属性に負の値を設定できなくすることはありません。 width または height の値が負の場合、しかしながら、いくつかのメソッドの動作は未定義かもしれません。


import 文


<< OBJECTIVE-C >>

@import Foundation;


<< SWIFT >>

import Foundation



利用可能

OS X 10.0 以降で利用可能。





NSSizeArray


パラメータを示す型は NSSize 構造体の配列です。


宣言


<< SWIFT >>

typealias NSSizeArray = UnsafeMutablePointer<NSSize>


<< OBJECTIVE-C >>

typedef NSSize *NSSizeArray;


import 文


<< OBJECTIVE-C >>

@import Foundation;


<< SWIFT >>

import Foundation



利用可能

OS X 10.0 以降で利用可能。





NSSizePointer


パラメータを示す型は NSSize 構造体へのポインタです。


宣言


<< SWIFT >>

typealias NSSizePointer = UnsafeMutablePointer<NSSize>


<< OBJECTIVE-C >>

typedef NSSize *NSSizePointer;


import 文


<< OBJECTIVE-C >>

@import Foundation;


<< SWIFT >>

import Foundation



利用可能

OS X 10.0 以降で利用可能。





NSSocketNativeHandle


プラットフォーム固有のネイティブソケットハンドルの型。


宣言


<< SWIFT >>

typealias NSSocketNativeHandle = Int32


<< OBJECTIVE-C >>

typedef int NSSocketNativeHandle;


import 文


<< OBJECTIVE-C >>

@import Foundation;


<< SWIFT >>

import Foundation



利用可能

OS X 10.0 以降で利用可能。

iOS 2.0 以降で利用可能





NSStringEncoding


文字列で暗号化した値を表す型。


宣言


<< OBJECTIVE-C >>

typedef NSUInteger NSStringEncoding;


議論

値のリストは、文字列の暗号化(NSString Encoding) を参照してください。


import 文


<< OBJECTIVE-C >>

@import Foundation;


利用可能

OS X 10.0 以降で利用可能。

iOS 2.0 以降で利用可能





NSSwappedDouble


エンディアンに依存しない double 値を含む不透明な構造体。


宣言


<< SWIFT >>

struct NSSwappedDouble {
    var v: UInt64
}

<< OBJECTIVE-C >>

typedef struct {
      unsigned long long v;
} NSSwappedDouble;


議論

NSSwappedDouble のフィールドは private です。


import 文


<< OBJECTIVE-C >>

@import Foundation;


<< SWIFT >>

import Foundation



利用可能

OS X 10.0 以降で利用可能。

iOS 2.0 以降で利用可能





NSSwappedFloat


エンディアンに依存しない float 値を含む不透明な型。

宣言


<< SWIFT >>

struct NSSwappedFloat {
    var v: UInt32
}

<< OBJECTIVE-C >>

typedef struct {
      unsigned int v;
} NSSwappedFloat;


議論

NSSwappedFloat のフィールドは private です。


import 文


<< OBJECTIVE-C >>

@import Foundation;


<< SWIFT >>

import Foundation



利用可能

OS X 10.0 以降で利用可能。

iOS 2.0 以降で利用可能





NSTimeInterval


秒単位で時間間隔を指定するために使用します。


宣言


<< SWIFT >>

typealias NSTimeInterval = Double


<< OBJECTIVE-C >>

typedef double NSTimeInterval;


議論

NSTimeInterval は常に秒単位で指定します。それで1万年以上の範囲にわたりミリ秒以下の精度が得られます。


import 文


<< OBJECTIVE-C >>

@import Foundation;


<< SWIFT >>

import Foundation



利用可能

OS X 10.0 以降で利用可能。

iOS 2.0 以降で利用可能





NSUncaughtExceptionHandler


例外処理領域外の例外の処理に使用される関数です。


宣言


<< OBJECTIVE-C >>

typedef volatile void NSUncaughtExceptionHandler(NSException *exception);


議論

NSSetUncaughtExceptionHandler を使用して例外ハンドラを設定することができます。


import 文






NSUInteger


符号なし整数を記述するために使用されます。


宣言


<< OBJECTIVE-C >>

typedef unsigned long NSUInteger;


議論

32 ビット·アプリケーションをビルドする場合は、NSUInteger は 32 ビットの符号なし整数です。64 ビットアプリケーションでは 64 ビットの符号なし整数として NSUInteger を扱います


import 文


<< OBJECTIVE-C >>

@import Foundation;


利用可能

OS X 10.5 以降で利用可能。

iOS 2.0 以降で利用可能





NSZone


メモリゾーンを識別し、管理するために使用されます。


宣言


<< OBJECTIVE-C >>

typedef struct _NSZone NSZone;


import 文


<< OBJECTIVE-C >>

@import Foundation;


利用可能

OS X 10.0 以降で利用可能。

iOS 2.0 以降で利用可能




次:マニュアル改訂履歴

目次
Xcode の新機能
インターフェースビルダー ヘルプ
ストーリーボード

  • Foundation データ型リファレンス
  • データ型概要
  • データ型
  • NSAppleEventManager
    SuspensionID

    NSComparator
    NSDecimal
    NSHashEnumerator
    NSHashTable
    NSHashTableCallBacks
    NSHashTableOptions
    NSInteger
    NSMapEnumerator
    NSMapTable
    NSHashTable
    NSMapTableKeyCallBacks
    NSMapTableOptions
    NSMapTableValue
    CallBacks

    NSPoint
    NSPointArray
    NSPointPointer
    NSRange
    NSRangePointer
    NSRect
    NSRectArray
    NSRectPointer
    NSSize
    NSSizeArray
    NSSizePointer
    NSSocketNativeHandle
    NSStringEncoding
    NSSwappedDouble
    NSSwappedFloat
    NSTimeInterval
    NSUncaughtException
    Handler

    NSUInteger
    NSZone
  • マニュアル改訂履歴












  • トップへ(Foundation データ型リファレンス)












    トップへ(Foundation データ型リファレンス)












    トップへ(Foundation データ型リファレンス)












    トップへ(Foundation データ型リファレンス)












    トップへ(Foundation データ型リファレンス)












    トップへ(Foundation データ型リファレンス)












    トップへ(Foundation データ型リファレンス)












    トップへ(Foundation データ型リファレンス)












    トップへ(Foundation データ型リファレンス)












    トップへ(Foundation データ型リファレンス)