{"id":2258,"date":"2011-07-05T19:54:34","date_gmt":"2011-07-05T10:54:34","guid":{"rendered":"http:\/\/www.moonmile.net\/blog\/?p=2258"},"modified":"2011-07-05T19:54:34","modified_gmt":"2011-07-05T10:54:34","slug":"clangllvm-%e3%81%a7-objc-%e3%82%92-datatable-%e3%81%a3%e3%81%bd%e3%81%8f%e6%89%b1%e3%81%86","status":"publish","type":"post","link":"http:\/\/www.moonmile.net\/blog\/archives\/2258","title":{"rendered":"clang+llvm \u3067 objc \u3092 DataTable \u3063\u307d\u304f\u6271\u3046"},"content":{"rendered":"<p>\u3046\u308c\u3057\u3052\u306b\u3001@property \u3067 DataRow \u3092\u4f5c\u3063\u3066\u898b\u305f\u4f8b\u3002<br \/>\n\u3082\u3046\u3061\u3087\u3063\u3068\u6574\u7406\u3057\u306a\u3044\u3068\u3002<\/p>\n<p>[code lang=&#8221;objc&#8221;]<br \/>\n\/*<br \/>\nclang -o main4 main4.m -I \/llvm\/include -I \/GNUstep\/GNUstep\/System\/Library\/Headers -L c:\/GNUstep\/GNUstep\/System\/Library\/Libraries -lobjc -lgnustep-base -fconstant-string-class=NSConstantString -Wno-format-security<br \/>\n*\/<br \/>\n#import &lt;stdio.h&gt;<br \/>\n#import &lt;Foundation\/Foundation.h&gt;<br \/>\n#import &lt;Foundation\/NSObject.h&gt;<\/p>\n<p>@interface Person : NSMutableDictionary<br \/>\n{<br \/>\n\t@private<br \/>\n\tint _id ;<br \/>\n\tNSString *_name;<br \/>\n\tint _age ;<br \/>\n}<br \/>\n@property (nonatomic) int id ;<br \/>\n@property (nonatomic,retain) NSString *name;<br \/>\n@property (nonatomic) int age ;<br \/>\n@end<\/p>\n<p>@implementation Person<br \/>\n@synthesize id = _id ;<br \/>\n@synthesize name = _name ;<br \/>\n@synthesize age = _age ;<br \/>\n&#8211; (void)print<br \/>\n{<br \/>\n\tNSLog(@&quot;%d %@(%d)&quot;, _id, _name, _age );<br \/>\n}<br \/>\n&#8211; (Person*)initWithId:(int)id Name:(NSString*)name Age:(int)age<br \/>\n{<br \/>\n\t_id = id;<br \/>\n\t_name = name;<br \/>\n\t_age = age;<\/p>\n<p>\treturn self;<br \/>\n}<br \/>\n@end<\/p>\n<p>@interface Persons : NSObject<br \/>\n{<br \/>\n\t@private<br \/>\n\tNSMutableArray *_rows ;<br \/>\n}<br \/>\n@property (nonatomic,retain) NSMutableArray *rows ;<br \/>\n@end<\/p>\n<p>@implementation Persons<br \/>\n@synthesize rows = _rows;<\/p>\n<p>&#8211; (id)init<br \/>\n{<br \/>\n\t[super init];<br \/>\n\t_rows = [[NSMutableArray alloc] init];<br \/>\n\treturn self;<br \/>\n}<br \/>\n&#8211; (void)print<br \/>\n{<br \/>\n\tfor ( int i=0; i&lt; [_rows count]; i++ ) {<br \/>\n\t\tPerson *p = [_rows objectAtIndex:i];<br \/>\n\t\t[p print];<br \/>\n\t}<br \/>\n}<\/p>\n<p>@end<\/p>\n<p>int _main(int argc, char *argv[])<br \/>\n{<br \/>\n\tPerson *masuda = [[Person alloc] initWithId:1 Name:@&quot;masuda&quot; Age:40];<br \/>\n\tPerson *yamada = [[Person alloc] initWithId:2 Name:@&quot;yamada&quot; Age:50];<br \/>\n\tPerson *tanaka = [[Person alloc] initWithId:3 Name:@&quot;tanaka&quot; Age:20];<br \/>\n\tPersons *persons = [[Persons alloc] init];<br \/>\n\t[persons.rows addObject:masuda];<br \/>\n\t[persons.rows addObject:yamada];<br \/>\n\t[persons.rows addObject:tanaka];<br \/>\n\t[persons print];<\/p>\n<p>\treturn 0;<br \/>\n}<\/p>\n<p>int main(int argc, char *argv[])<br \/>\n{<br \/>\n    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];<br \/>\n    int retVal = _main(argc, argv);<br \/>\n    [pool release];<br \/>\n    return retVal;<br \/>\n}<\/p>\n<p>[\/code]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u3046\u308c\u3057\u3052\u306b\u3001@property \u3067 DataRow \u3092\u4f5c\u3063\u3066\u898b\u305f\u4f8b\u3002 \u3082\u3046\u3061\u3087\u3063\u3068\u6574\u7406\u3057\u306a\u3044\u3068\u3002 [code lang=&#8221;objc&#8221;] \/* clang -o main4 main4.m -I \/ &hellip; <a href=\"http:\/\/www.moonmile.net\/blog\/archives\/2258\">\u7d9a\u304d\u3092\u8aad\u3080 <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":2742,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_hide_featured_image":false,"_jetpack_featured_image_duplicate_dismissed":0,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[3,28],"tags":[],"class_list":["post-2258","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev","category-objc"],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"http:\/\/www.moonmile.net\/blog\/wp-content\/uploads\/2012\/01\/windows-objective-c-title.jpg","_links":{"self":[{"href":"http:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/posts\/2258","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/comments?post=2258"}],"version-history":[{"count":1,"href":"http:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/posts\/2258\/revisions"}],"predecessor-version":[{"id":2259,"href":"http:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/posts\/2258\/revisions\/2259"}],"wp:attachment":[{"href":"http:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/media?parent=2258"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/categories?post=2258"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/tags?post=2258"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}