macOS/iOS API解説

iOS , Mac アプリケーション開発のために使われる主要フレームワークの日本語情報です。2010年代に書かれた内容です。今後更新はありません。

目次

NSGetSizeAndAlignment

指定したデータ型のタイプとサイズを返します
const char *  NSGetSizeAndAlignment ( 
               const char *   typePtr , 
               unsigned int *   sizep , 
               unsigned int *   alignp );

解説

指定したデータ型のタイプとサイズを返します。

返り値

引数

( const char * )typePtr

データ型

( unsigned int * )sizep
( unsigned int * )alignp

クラス

NSGetSizeAndAlignment

Function

使用可能

10.0

参照

例文

#import "MyObject.h"

@implementation MyObject


- (IBAction)myAction:(id)sender
{
	unsigned a;
	
	const char *aChar = NSGetSizeAndAlignment(@encode(BOOL), nil, &a);
	NSLog(@"----%s", *aChar);		//
	
	NSLog(@"BOOL               %-2s   size         %i   __alignof__  %i ", @encode(BOOL),a, __alignof__(BOOL));		//
	
	NSGetSizeAndAlignment(@encode(bool), nil, &a);
	NSLog(@"bool               %-2s   size         %i   __alignof__  %i ", @encode(bool),a, __alignof__(bool));		//
	
	NSGetSizeAndAlignment(@encode(unsigned char), nil, &a);
	NSLog(@"unsigned char      %-2s   size         %i   __alignof__  %i ", @encode(unsigned char),a, __alignof__(unsigned char));		//

	NSGetSizeAndAlignment(@encode(char), nil, &a);
	NSLog(@"char      %-2s   size         %i   __alignof__  %i ", @encode(char),a, __alignof__(char));		//
	
	NSGetSizeAndAlignment(@encode(signed char), nil, &a);
	NSLog(@"signed char      %-2s   size         %i   __alignof__  %i ", @encode(signed char),a, __alignof__(signed char));		//
	
	NSGetSizeAndAlignment(@encode(unsigned short), nil, &a);
	NSLog(@"unsigned short      %-2s   size         %i   __alignof__  %i ", @encode(unsigned short),a, __alignof__(unsigned short));		//
	
	NSGetSizeAndAlignment(@encode(signed short), nil, &a);
	NSLog(@"signed short      %-2s   size         %i   __alignof__  %i ", @encode(signed short),a, __alignof__(signed short));		//
	
	NSGetSizeAndAlignment(@encode(unsigned int), nil, &a);
	NSLog(@"unsigned int      %-2s   size         %i   __alignof__  %i ", @encode(unsigned int),a, __alignof__(unsigned int));		//
	
	NSGetSizeAndAlignment(@encode(signed int), nil, &a);
	NSLog(@"signed int      %-2s   size         %i   __alignof__  %i ", @encode(signed int),a, __alignof__(signed int));		//
	
	NSGetSizeAndAlignment(@encode(unsigned long), nil, &a);
	NSLog(@"unsigned long      %-2s   size         %i   __alignof__  %i ", @encode(unsigned long),a, __alignof__(unsigned long));		//
	
	NSGetSizeAndAlignment(@encode(signed long), nil, &a);
	NSLog(@"signed long      %-2s   size         %i   __alignof__  %i ", @encode(signed long),a, __alignof__(signed long));		//

	NSGetSizeAndAlignment(@encode(unsigned long long), nil, &a);
	NSLog(@"unsigned long long      %-2s   size         %i   __alignof__  %i ", @encode(unsigned long long),a, __alignof__(unsigned long long));		//
	
	NSGetSizeAndAlignment(@encode(signed long long), nil, &a);
	NSLog(@"signed long long      %-2s   size         %i   __alignof__  %i ", @encode(signed long long),a, __alignof__(signed long long));		//
	
	NSGetSizeAndAlignment(@encode(float), nil, &a);
	NSLog(@"float      %-2s   size         %i   __alignof__  %i ", @encode(float),a, __alignof__(float));		//
	
	NSGetSizeAndAlignment(@encode(double), nil, &a);
	NSLog(@"double      %-2s   size         %i   __alignof__  %i ", @encode(double),a, __alignof__(double));		//
	
	NSGetSizeAndAlignment(@encode(long double), nil, &a);
	NSLog(@"long double      %-2s   size         %i   __alignof__  %i ", @encode(long double),a, __alignof__(long double));		//
	
	NSGetSizeAndAlignment(@encode(void*), nil, &a);
	NSLog(@"void*      %-2s   size         %i   __alignof__  %i ", @encode(void*),a, __alignof__(void*));		//

}

@end