1
我只是實現以下是想採取一些行動的NSTextField的值在我NSOutlineView改變textShouldEndEditing在NSOutlineTableView獲取調用兩次
-(BOOL)control:(NSControl *)control textShouldEndEditing:(NSText *)fieldEditor
{
NSLog(@"end editing");
NSTextField* tf = (NSTextField*)control;
if(selectedItem && [selectedItem isKindOfClass:[HSCategoryClass class]])
{
HSCategoryClass* c = selectedItem;
c.name = tf.stringValue;
// request the update from DB
[[NSNotificationCenter defaultCenter] postNotificationName:@"updatingCategoryName"
object:c
userInfo:@{@"sender":self}];
}
return YES;
}
但是之後,當我編輯完成後按下回車鍵的方法鍵或導航到文本字段以外的任何位置,此方法將被調用兩次而不是一次。
有誰知道這是爲什麼?
任何形式的幫助,高度讚賞!
嗨肯,感謝您的回答!我試圖按照你提出的方式來實現它,但出於某種原因,textDidEndEditing:沒有在我的OutlineView中調用...你知道什麼可能是問題嗎? –
您是否記得將您的筆尖中的大綱視圖的類更改爲您的子類? –
是的......這樣做是正確的... –