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 |
Example:
// 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
next
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.
- 7 properties
- property Addressbook as ABAddressBookMBS
- property Content as Dictionary
- property count as Integer
- property Description as string
- property Handle as Integer
- property primaryIdentifier as string
- property propertyType as Integer
- 14 methods
- method Constructor
- method copy as ABMultiValueMBS
- method edit as ABMutableMultiValueMBS
- method identifierAtIndex(index as UInt32) as string
- method identifiers as string()
- method indexForIdentifier(identifier as string) as UInt32
- method indexForLabel(label as string) as UInt32
- method labelAtIndex(index as UInt32) as string
- method labelForIdentifier(identifier as string) as string
- method labels as string()
- method valueAtIndex(index as UInt32) as Variant
- method valueForIdentifier(identifier as string) as Variant
- method valueForLabel(label as string) as Variant
- method values as Variant()
Sub classes:
Some examples which use this class:
- /MacCocoa/Addressbook/Add address to person
- /MacCocoa/Addressbook/Easy search
- /MacCocoa/Addressbook/Edit Distance values
- /MacCocoa/Addressbook/Extract Vcard
- /MacCocoa/Addressbook/Group members
- /MacCocoa/Addressbook/List Addresses
- /MacCocoa/Addressbook/Search Person
- /MacCocoa/Addressbook/Show my entry
Blog Entries
- MBS Xojo Plugins, version 18.2pr8
- MonkeyBread Software Releases the MBS Xojo / Real Studio plug-ins in version 15.0
- MBS Xojo / Real Studio Plugins, version 15.0pr7
- Using dash if to reduce app size by referencing less plugins
- MBS Real Studio Plugins, version 12.3pr2
- MBS Real Studio Plugins, version 11.3fc
The items on this page are in the following plugins: MBS MacCocoa Plugin.
Links
MBS Xojo Chart Plugins