| Home 目次>Foundation>NSCoder このサイトはこちらに移転しました。 | |
encodePoint:
位置(NSPoint)をコード化します
-(void) encodePoint:(NSPoint)point
【返り値】 | |
| void | なし |
| 【パラメータ】 | |
| point | 位置 |
【解説】
位置(NSPoint)をコード化します。
サブクラスでは、オーバーライドしてはいけません。
【例文】
#import "MyView.h"
@implementation MyView
//アンアーカイブするときの手順の記述
- (id)initWithCoder:(NSCoder *)decoder
{
NSPoint point;
NSRect rect;
NSSize size;
NSMutableData *dat2 = [NSMutableData data];
intVal = 20;
boolVal = NO;
NSLog(@"initWithCoder");
[super initWithCoder:decoder];
NSLog([decoder decodeObject]);
NSLog([decoder decodeObject]);
NSLog([NSString stringWithFormat:@"point = %.1f",[decoder decodePoint].x]);
NSLog([decoder decodeObject]);
NSLog([decoder decodeObject]);
dat2 = [decoder decodeDataObject];
point = [decoder decodePoint];
NSLog([NSString stringWithFormat:@"point = %.1f,%.1f",point.x,point.y]);
rect = [decoder decodeRect];
NSLog([NSString stringWithFormat:@"rect = %.1f,%.1f,%.1f,%.1f",rect.origin.x,rect.origin.y,rect.size.width,rect.size.height]);
size = [decoder decodeSize];
NSLog([NSString stringWithFormat:@"size = %.1f,%.1f",size.width,size.height]);
myview = [[decoder decodeObject] retain];
[decoder decodeValueOfObjCType:@encode(int) at:&intVal];
NSLog([NSString stringWithFormat:@"intVal = %d",intVal]);
[decoder decodeValueOfObjCType:@encode(BOOL) at:&boolVal];
if (boolVal){
NSLog(@"YES");
}else{
NSLog(@"NO");
}
[decoder decodeArrayOfObjCType:@encode(float) count:1 at:&floatVal];
return self;
}
//アーカイブするときの手順の記述
- (void)encodeWithCoder:(NSCoder *)encoder
{
NSMutableData *dat = [NSMutableData data];
NSLog(@"encodeWithCoder");
intVal = 10;
boolVal = YES;
[super encodeWithCoder:encoder];
[encoder encodeObject:@"obj"];
[encoder encodeBycopyObject:@"encodeBycopyObject"];
[encoder encodePoint:NSMakePoint(100,100)];
[encoder encodeByrefObject:@"encodeByrefObject"];
[encoder encodeConditionalObject:@"ConditionalObject"];
[encoder encodeDataObject:dat];
[encoder encodePoint:NSMakePoint(10,10)];
[encoder encodeRect:NSMakeRect(0,0,10,10)];
[encoder encodeSize:NSMakeSize(30,30)];
[encoder encodeObject:self];
[encoder encodeValueOfObjCType:@encode(int) at:&intVal];
[encoder encodeValueOfObjCType:@encode(BOOL) at:&boolVal];
[encoder encodeArrayOfObjCType:@encode(float) count:1 at:&floatVal];
return;
}
@end
![]() | |
この記事を評価してください。
| Home 目次>Foundation>NSCoder | 修正日2007.3.22 |