Xojo Developer Conference
25/27th April 2018 in Denver.
MBS Xojo Conference
6/7th September 2018 in Munich, Germany.

Platforms to show: All Mac Windows Linux Cross-Platform

ABMultiValueMBS class

Type Topic Plugin Version macOS Windows Linux Console & Web iOS
class Addressbook MBS MacCocoa Plugin 7.1 Yes No No Yes, macOS only No
Function: Represents values of type ABMultiXXXXXProperty.
// shows all websites with labels

dim a as new ABAddressBookMBS
dim p as ABPersonMBS = a.owner
dim m as ABMultiValueMBS = p.valueForProperty(a.kABURLsProperty)

dim u as Integer = m.count-1
for i as Integer = 0 to u
dim label as string = m.labelAtIndex(i)
dim value as string = m.valueAtIndex(i)

MsgBox label+" -> "+value
All values in an ABMultiValue must be of the same type (kABMultiStringProperty: all values must be strings....)

In case your application needs to store away a reference to a specific value/label pair, use the identifier. Index won't work in this case because any client can add/remove/reorder a multivalue making your index point to the wrong pair. Identifiers are unique Ids.

All methods in this class will catch exceptions from Cocoa and raise a NSExceptionMBS instead. Using the message, name and reason properties you can see what was the reason for this exception. Please report if you find a method which does not handle exceptions correct.
This is an abstract class. You can't create an instance, but you can get one from various plugin functions.

Feedback, Comments & Corrections

Sub classes:

The items on this page are in the following plugins: MBS MacCocoa Plugin.

ABGroupMBS   -   ABMutableMultiValueMBS

MBS FileMaker blog