71 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
| #import <Foundation/Foundation.h>
 | |
| 
 | |
| 
 | |
| @interface MyString : NSObject {
 | |
|     NSString *_string;
 | |
|     NSDate *_date;
 | |
| }
 | |
| - (id)initWithNSString:(NSString *)string;
 | |
| 
 | |
| @property (copy) NSString *string;
 | |
| @property (readonly,getter=getTheDate) NSDate *date;
 | |
| 
 | |
| - (NSDate *) getTheDate;
 | |
| @end
 | |
| 
 | |
| @implementation MyString
 | |
| 
 | |
| @synthesize string = _string;
 | |
| @synthesize date = _date;
 | |
| 
 | |
| - (id)initWithNSString:(NSString *)string
 | |
| {
 | |
|     if (self = [super init])
 | |
|     {
 | |
|         _string = [NSString stringWithString:string];
 | |
|         _date = [NSDate date];            
 | |
|     }
 | |
|     return self;
 | |
| }
 | |
| 
 | |
| - (void) dealloc
 | |
| {
 | |
|     [_date release];
 | |
|     [_string release];
 | |
|     [super dealloc];
 | |
| }
 | |
| 
 | |
| - (NSDate *) getTheDate
 | |
| {
 | |
|     return _date;
 | |
| }
 | |
| 
 | |
| - (NSString *)description
 | |
| {
 | |
|     return [_string stringByAppendingFormat:@" with timestamp: %@", _date];
 | |
| }
 | |
| @end
 | |
| 
 | |
| int main (int argc, char const *argv[])
 | |
| {
 | |
|     NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
 | |
|     static NSString *g_global_nsstr = @"Howdy";
 | |
|     
 | |
|     MyString *myStr = [[MyString alloc] initWithNSString: [NSString stringWithFormat:@"string %i", 1]];
 | |
|     NSString *str1 = myStr.string;
 | |
|     NSString *str2 = [NSString stringWithFormat:@"string %i", 2];
 | |
|     NSString *str3 = [NSString stringWithFormat:@"string %i", 3];
 | |
|     NSArray *array = [NSArray arrayWithObjects: str1, str2, str3, nil];
 | |
|     NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
 | |
|                             str1, @"1", 
 | |
|                             str2, @"2", 
 | |
|                             str3, @"3", 
 | |
|                             myStr.date, @"date",
 | |
|                             nil];
 | |
| 
 | |
|     id str_id = str1;
 | |
|     SEL sel = @selector(length);
 | |
|     [pool release];
 | |
|     return 0;
 | |
| }
 |