Google Calendar APIのObjective-Cクライアントライブラリでextended propertyを扱うためのメモ

いやーやっぱ「これどないすんねん?」てなったら「ソース読めハゲ」て感じですね。


手順1
GDataExtendedPropertyクラスには以下のような公開メソッドがあるのでまずはこいつでGDataExtendedPropertyオブジェクトを作成する。

+ (id)propertyWithName:(NSString *)name
                 value:(NSString *)value {

  GDataExtendedProperty* obj = [[[GDataExtendedProperty alloc] init] autorelease];
  [obj setName:name];
  [obj setValue:value];
  [obj addEmptyDefaultNamespace];
  return obj;
}


手順2
GDataEntryCalendarEventクラスには以下のようなメソッドがありますのでこいつらを使ってExtendedPropertyをセットしたり読み込んだりします。

- (NSArray *)extendedProperties {
  return [self objectsForExtensionClass:[GDataExtendedProperty class]];
}

- (void)setExtendedProperties:(NSArray *)arr {
  [self setObjects:arr forExtensionClass:[GDataExtendedProperty class]];
}

- (void)addExtendedProperty:(GDataExtendedProperty *)obj {
  [self addObject:obj forExtensionClass:[GDataExtendedProperty class]];
}