NSTokenFieldでは、トークンを削除している間、デリゲートメソッドが存在しないようです。
私はラッパーデリゲートを作ってみました:
#import "tokenDelegate.h"
@implementation tokenDelegate
@synthesize token,owner;
-(id)initWithWrappedToken:(id)token1 owner:(id<TokenWrapperDelegate>)owner1
{
self.owner = owner1;
self.token = token1;
return self;
}
-(void)dealloc {
[owner tokenWasDeleted:self.token];
self.token = nil;
[super dealloc];
}
@end
そして所有者のために私は試しました:
- (NSString *)tokenField:(NSTokenField *)tokenField editingStringForRepresentedObject:(id)representedObject;
{
del = [[tokenDelegate alloc] initWithWrappedToken:nil owner:self];
del.token = representedObject;
[del release];
return [representedObject description];
}
-(void)tokenWasDeleted:(id)token
{
NSLog(@"token %@",token);
}
問題は次のとおりです。
編集中は「tokenWasDeleted」が呼び出しています。(それは結構です)。しかし、トークンを選択すると、直接削除「tokenWasDeleted」が呼び出されません。
削除されたトークンのインデックスを取得できるように、誰かがこれをどうするかを手伝ってもらえますか?
ありがとう、ニーラム・ヴァーマ