Foundation データ型リファレンス
概要
このドキュメントでは、Foundation フレームワーク内で見られるデータ型と定数について説明します。
データ型
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 値を返します。
NSArray の sortedArrayUsingComparator: のような比較演算で NSComparator ブロックを使用して下さい。次に例を示します:
- NSArray *sortedArray = [array sortedArrayUsingComparator: ^(id obj1, id obj2) {
-         if ([obj1 integerValue] > [obj2 integerValue]) {
-                return (NSComparisonResult)NSOrderedDescending;
-        }
-        if ([obj1 integerValue] < [obj2 integerValue]) {
-                return (NSComparisonResult)NSOrderedAscending;
-        }
-        return (NSComparisonResult)NSOrderedSame;
- }];
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つの定義済みの値は NSNotAnIntMapKey と NSNotAPointerMapKey です。
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;
議論
通常は、width と height の値は負ではありません。 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 以降で利用可能