71 lines · plain
1#import <Foundation/Foundation.h>2 3 4@interface MyString : NSObject {5 NSString *_string;6 NSDate *_date;7}8- (id)initWithNSString:(NSString *)string;9 10@property (copy) NSString *string;11@property (readonly,getter=getTheDate) NSDate *date;12 13- (NSDate *) getTheDate;14@end15 16@implementation MyString17 18@synthesize string = _string;19@synthesize date = _date;20 21- (id)initWithNSString:(NSString *)string22{23 if (self = [super init])24 {25 _string = [NSString stringWithString:string];26 _date = [NSDate date]; 27 }28 return self;29}30 31- (void) dealloc32{33 [_date release];34 [_string release];35 [super dealloc];36}37 38- (NSDate *) getTheDate39{40 return _date;41}42 43- (NSString *)description44{45 return [_string stringByAppendingFormat:@" with timestamp: %@", _date];46}47@end48 49int main (int argc, char const *argv[])50{51 NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];52 static NSString *g_global_nsstr = @"Howdy";53 54 MyString *myStr = [[MyString alloc] initWithNSString: [NSString stringWithFormat:@"string %i", 1]];55 NSString *str1 = myStr.string;56 NSString *str2 = [NSString stringWithFormat:@"string %i", 2];57 NSString *str3 = [NSString stringWithFormat:@"string %i", 3];58 NSArray *array = [NSArray arrayWithObjects: str1, str2, str3, nil];59 NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:60 str1, @"1", 61 str2, @"2", 62 str3, @"3", 63 myStr.date, @"date",64 nil];65 66 id str_id = str1;67 SEL sel = @selector(length);68 [pool release];69 return 0;70}71