এনএসমুটেবলআরে সিজিআরেক্টের মানগুলি কীভাবে সংরক্ষণ করবেন?


উত্তর:


289

আপনার NSValueক্লাসে সিজি কাঠামো মোড়ানো দরকার । তাই:

NSMutableArray* array = [NSMutableArray mutableArray];
[array addObject:[NSValue valueWithCGRect:CGRectMake(0,0,10,10)]];
CGRect someRect = [[array objectAtIndex:0] CGRectValue];

আরও উদাহরণ এখানে: iosdevelopertips.com/cocoa/…
WINSergey

দুর্দান্ত উত্তর! যদি আপনি সঞ্চিত এনএসভ্যালুতে সিজিআরেক্টে ফিরে যান "আনবক্সিং" প্রদর্শন করেন তবে আরও কার্যকর হবে।
মোটি শ্নের

12
CGRect rect = CGRectMake( 5, 5, 40, 30 );
NSString* rectAsString = NSStringFromCGRect( rect );
CGRect original = CGRectFromString( rectAsString );

সিজিআরেক্টের তারিখগুলি সংরক্ষণ করার জন্য আপনি কী মনে করেন?


2

আমরা সংরক্ষণ CGRect, CGPoint, CMTimeএকটি বস্তু NSMutableArray,

[arrayName addObject:[NSValue valueWithCGPoint:MyCGPoint]]

[arrayName addObject:[NSValue valueWithCGRect:MyCGRect]]

[arrayName addObject:[NSValue valueWithCMTime:MyCMTime]]

[arrayName addObject:[NSValue valueWithCMTimeRange:MyCMTimeRange]]


1
Store string in array.and then get back string and convert that in CGRect back as per the need.
CGRect rect = CGRectMake( 5, 5, 40, 30 );
NSString* rectAsString = NSStringFromCGRect( rect );
NSMutableArray* array = [NSMutableArray mutableArray];
[array addObject:rectAsString];

For converting string in CGRect back use:-
CGRect rect9 = CGRectFromString(rectAsString);
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.