1

У меня есть табличное представление, связанное с контроллером массива. В табличном представлении есть два столбца, один из которых является строкой, а другой - BOOL. Я получаю строковые значения в tableview. Для отображения значений BOOL в NSButtonCell, I Я столкнулся с проблемой. Была выбрана ячейка кнопки, где значения «НЕТ» и не выбраны для значений «ДА». Я передал значение преобразователя как «NSNegateBoolean» в столбец BOOL в bind.I знаю, эта проблема связана с тем, что я дал «NSNegateBoolean». Но нет такого параметра, как «NSBoolean», чтобы получить точные значения. Если кто-либо знает , плз мне посоветуют. Это приложение в какао, а не в iPhone.Значение привязки BOOL к NSArrayController

Спасибо заранее.

+0

вы можете получить значение BOOL из массива ** [[массив objectAtIndex: indexPath.row] boolValue] ** –

ответ

0

Вы хотите сказать, что вы не смогли напрямую привязать значение BOOL к NSArray?

Не могли бы вы попробовать NSNumber NSCFBoolean?

@(YES) or @(NO). 

или

BOOL boolValue = YES; 
@(boolValue) 

, такие как

NSDictionary *row1 = @{@"title":@"row1",@"value":@(YES)}; 
NSDictionary *row2 = @{@"title":@"row2",@"value":@(NO)}; 
NSArray *tableContentArray = @[row1,row2]; 

tableContentArray является тот, который связывается с вашим ArrayController.

+0

Я получаю значение BOOL из базы данных. Это не NSCFBoolean. – Preethi

+0

Что мне делать сейчас. Я непосредственно даю значения, которые поступают из базы данных в arrayController – Preethi

0

Все, что NSNegateBoolean трансформатор - это инвертировать ваши значения привязки, прежде чем отражать их в интерфейсе и, конечно, не является обязательным. Если вам не нужно отрицать значения, просто не используйте трансформатор. Итак, удалите NSNegateBoolean, и вам должно быть хорошо идти.

+0

Тогда какой трансформатор мне следует использовать? Если я не использовал трансформатор, все флажки идут как невыбранные. – Preethi

+0

Вам не следует использовать трансформатор. Причина, по которой вы можете получить неожиданные результаты, заключается в том, что привязки ожидают, что ваши объекты будут объектами (а не примитивами, такими как 'int', 'float' и т. Д.). Поэтому, если вы получили 'BOOL' из своей базы данных, попробуйте обернуть их в 'NSNumber', прежде чем пытаться установить какие-либо привязки. Я надеюсь, что это имеет смысл ... – Alladinian

+0

K Спасибо, я попробую :) – Preethi