Форум программистов, компьютерный форум, киберфорум
Наши страницы
Swift
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
alazir
0 / 0 / 0
Регистрация: 01.12.2015
Сообщений: 10
#1

ComboboxDataSource не String

22.12.2015, 20:31. Просмотров 981. Ответов 5
Метки нет (Все метки)

Создаю класс, реализующий NSComboboxDataSource.

В реализации
- comboBox:objectValueForItemAtIndex:
я хочу вернуть объект бизнес-модели, а не класса String. Но в таком случае в список комбобокса вообще ничего не выводится. Может быть, класс должен реализовывать какой-то протокол, чтобы комбобокс выводил его на экран?

Заранее спасибо!

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.12.2015, 20:31
Ответы с готовыми решениями:

Создайте класс Animal. Добавьте поля string Name, string Kind, string Areal, int Population
Создайте класс Animal. Добавьте поля string Name, string Kind, string Areal,...

Создайте класс Animal. Добавьте поля string Name, string Kind, string Areal, int Population
Здравствуйте! По C# есть задачка, с которой я так и не разобрался :( ...

Ошибка PHPOfice: Cannot use PhpOffice\PhpWord\Shared\String as String because 'String' is a special class name
Fatal error: Cannot use PhpOffice\PhpWord\Shared\String as String because...

Доступ к паре в map<string, vector<pair<string, string>>>Temp
Подскажите пожалуйста как получить данные в векторе пар ? void...

List<string, string, string> есть ли в C# что-то подобное
Мне надо добавить в List не только имя файла, но и некоторые строки из этого...

5
glvrzzz
95 / 71 / 12
Регистрация: 12.12.2012
Сообщений: 214
23.12.2015, 09:08 #2
Лучший ответ Сообщение было отмечено alazir как решение

Решение

https://developer.apple.com/library/...boBoxData.html
The combo box treats objects provided by its data source as values to be displayed in the combo box’s pop-up list. If these objects aren’t of common value classes—such as strings, numbers, and so on—you’ll need to create a custom NSFormatter to display them. See Data Formatting Guide for more information.
0
alazir
0 / 0 / 0
Регистрация: 01.12.2015
Сообщений: 10
23.12.2015, 10:11  [ТС] #3
Спасибо огромное!
0
alazir
0 / 0 / 0
Регистрация: 01.12.2015
Сообщений: 10
24.12.2015, 11:17  [ТС] #4
К сожалению, оказалось, что все не так просто
Попытка вернуть из func comboBox(_ aComboBox: NSComboBox, objectValueForItemAtIndex index: Int) -> AnyObject
объект, отличный от String дает вот такую ошибку:
2015-12-24 10:09:08.787 Tasks[28485:4034531] (
0 CoreFoundation 0x00007fff92d55ae2 __exceptionPreprocess + 178
1 libobjc.A.dylib 0x00007fff979d973c objc_exception_throw + 48
2 CoreFoundation 0x00007fff92d58b9d -[NSObject(NSObject) doesNotRecognizeSelector:] + 205
3 CoreFoundation 0x00007fff92c91601 ___forwarding___ + 1009
4 CoreFoundation 0x00007fff92c91188 _CF_forwarding_prep_0 + 120
5 AppKit 0x00007fff86e88d8e -[NSCell _setContents:] + 74
6 AppKit 0x00007fff86e88c62 -[NSCell setObjectValue:] + 486
7 AppKit 0x00007fff86e88861 -[NSTextFieldCell setObjectValue:] + 88
8 AppKit 0x00007fff87095c12 -[NSTableView preparedCellAtColumn:row:] + 633
9 AppKit 0x00007fff8709584c -[NSTableView _drawContentsAtRow:column:withCellFrame:] + 50
10 AppKit 0x00007fff87095409 -[NSTableView drawRow:clipRect:] + 1678
11 AppKit 0x00007fff87094aeb -[NSTableView drawRowIndexes:clipRect:] + 919
12 AppKit 0x00007fff87093403 -[NSTableView drawRect:] + 1480
13 AppKit 0x00007fff86f2c1fe -[NSView(NSInternal) _recursive:displayRectIgnoringOpacity:inGraphicsContext:CGContext:topView:shouldChangeFontReferenceColor:] + 1331
14 AppKit 0x00007fff86f2bb98 __46-[NSView(NSLayerKitGlue) drawLayer:inContext:]_block_invoke + 242
15 AppKit 0x00007fff86f2b843 -[NSView(NSLayerKitGlue) _drawViewBackingLayer:inContext:drawingHandler:] + 2403
16 AppKit 0x00007fff86f2aed5 -[NSView(NSLayerKitGlue) drawLayer:inContext:] + 108
17 QuartzCore 0x00007fff8e607e79 CABackingStoreUpdate_ + 3494
18 QuartzCore 0x00007fff8e6070cd ___ZN2CA5Layer8display_Ev_block_invoke + 59
19 QuartzCore 0x00007fff8e5fad31 _ZN2CA5Layer8display_Ev + 1565
20 AppKit 0x00007fff86e9e07c _NSBackingLayerDisplay + 641
21 AppKit 0x00007fff86e9b7bd -[_NSViewBackingLayer display] + 818
22 QuartzCore 0x00007fff8e5f910d _ZN2CA5Layer17display_if_neededEPNS_11TransactionE + 603
23 QuartzCore 0x00007fff8e5f878d _ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE + 35
24 QuartzCore 0x00007fff8e5f7cf1 _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 277
25 QuartzCore 0x00007fff8e5f7a24 _ZN2CA11Transaction6commitEv + 508
26 QuartzCore 0x00007fff8e606917 _ZN2CA11Transaction17observer_callbackEP19__CFRunLoopObservermPv + 71
27 CoreFoundation 0x00007fff92c64e37 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
28 CoreFoundation 0x00007fff92c64da7 __CFRunLoopDoObservers + 391
29 CoreFoundation 0x00007fff92c56358 CFRunLoopRunSpecific + 328
30 HIToolbox 0x00007fff8e31e935 RunCurrentEventLoopInMode + 235
31 HIToolbox 0x00007fff8e31e677 ReceiveNextEventCommon + 184
32 HIToolbox 0x00007fff8e31e5af _BlockUntilNextEventMatchingListInModeWithFilter + 71
33 AppKit 0x00007fff86ec80ee _DPSNextEvent + 1067
34 AppKit 0x00007fff87294943 -[NSApplication _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 454
35 AppKit 0x00007fff8733d7c5 -[NSComboBoxCell filterEvents:] + 504
36 AppKit 0x00007fff8733f0cc -[NSComboBoxCell popUp:] + 572
37 libsystem_trace.dylib 0x00007fff8f56907a _os_activity_initiate + 75
38 AppKit 0x00007fff8707551d -[NSApplication sendAction:to:from:] + 460
39 AppKit 0x00007fff8708a486 -[NSControl sendAction:to:] + 86
40 AppKit 0x00007fff8708a3b0 __26-[NSCell _sendActionFrom:]_block_invoke + 131
41 libsystem_trace.dylib 0x00007fff8f56907a _os_activity_initiate + 75
42 AppKit 0x00007fff8708a30d -[NSCell _sendActionFrom:] + 144
43 AppKit 0x00007fff8718a2a6 __48-[NSCell trackMouse:inRect:ofView:untilMouseUp:]_block_invoke + 219
44 libsystem_trace.dylib 0x00007fff8f56907a _os_activity_initiate + 75
45 AppKit 0x00007fff870883b0 -[NSCell trackMouse:inRect:ofView:untilMouseUp:] + 1283
46 AppKit 0x00007fff870ddd58 -[NSButtonCell trackMouse:inRect:ofView:untilMouseUp:] + 744
47 AppKit 0x00007fff8733d255 -[NSComboBoxCell trackMouse:inRect:ofView:untilMouseUp:] + 618
48 AppKit 0x00007fff8733ad6e -[NSComboBox mouseDown:] + 366
49 AppKit 0x00007fff87634d1d -[NSWindow _handleMouseDownEvent:isDelayedEvent:] + 6322
50 AppKit 0x00007fff87635fad -[NSWindow _reallySendEvent:isDelayedEvent:] + 212
51 AppKit 0x00007fff86f8e735 -[NSWindow sendEvent:] + 517
52 AppKit 0x00007fff86f8ae49 -[NSApplication sendEvent:] + 2540
53 AppKit 0x00007fff86ebe03a -[NSApplication run] + 796
54 AppKit 0x00007fff86e40520 NSApplicationMain + 1176
55 Tasks 0x00000001000105b7 main + 87
56 libdyld.dylib 0x00007fff9b1495ad start + 1
)


Может, все-таки есть ограничения по классам, которые можно вернуть как объект в ComboboxDataSource?
0
AncientPenguin
98 / 45 / 18
Регистрация: 09.08.2015
Сообщений: 367
25.12.2015, 08:56 #5
alazir, Create NSFormatter
0
alazir
0 / 0 / 0
Регистрация: 01.12.2015
Сообщений: 10
25.12.2015, 09:16  [ТС] #6
AncientPenguin, да создал уже. Создал. Выдает вышеуказанную ошибку.

В качестве решения потребовалась реализация классом, который я подставляю в Combobox, метода copyWithZone.

Хотя, как выяснилось, все равно главную проблему - получить выбранный в комбобоксе объект через Combobox.objectValueOfSelectedItem все равно нельзя
[NSComboBoxCell objectValueOfSelectedItem] should not be called when usesDataSource is set to YES
0
25.12.2015, 09:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.12.2015, 09:16

AsyncTask<String, String, String> объясните пожалуйста
При описаний класса наследника AsyncTask мы в угловых скобках указываем три...

Как использовать String.Substring(string, string)?
Есть у String метод Substring(int, int), но он принимает только числа. Я видел...

Как string присвоить String? И как из string перевести в char[]?
Как string присвоить String? И как из string перевести в char?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru