SCObjectSelectionModel

@interface SCObjectSelectionModel : SCArrayOfObjectsModel {
  NSIndexPath *lastSelectedRowIndexPath;
  NSObject *boundObject;
  SCDataStore *boundObjectStore;
  NSString *boundPropertyName;
  NSMutableSet *selectedItemsIndexes;
  BOOL allowMultipleSelection;
  BOOL allowNoSelection;
  NSUInteger maximumSelections;
  BOOL autoDismissViewController;
}

This class functions as a model that provides the end-user with an automatically generated list of objects to choose from.

The selection items are provided in the form of an array of NSObjects, called the items array. ‘SCObjectSelectionModel’ can be configured to allow multiple selection and to allow no selection at all. If allow multiple selection is disabled, then the bound property name of this model must be of type NSObject, otherwise it must be of type NSMutableSet.

See

SCObjectSelectionSection.

Creation and Initialization

  • Returns an initialized ‘SCObjectSelectionModel’ given a table view, bound object, a bound property name, and a selection items store.

    • - parameter: tableView The model’s table view.
    • - parameter: object The object the model will bind to.
    • - parameter: propertyName The model’s bound property name corresponding to the object selection. If multiple selection is allowed, then property must be of an NSMutableSet type, otherwise, property must be of type NSObject and cannot be a readonly property.
    • - parameter: store The store containing the selection objects.

    Declaration

    Objective-C

    - (instancetype)initWithTableView:(UITableView *)tableView
                          boundObject:(NSObject *)object
           selectedObjectPropertyName:(NSString *)propertyName
                  selectionItemsStore:(SCDataStore *)store;
  • Returns an initialized ‘SCObjectSelectionModel’ given a table view, bound object, a bound property name, and an array of selection items.

    • - parameter: tableView The model’s table view.
    • - parameter: object The object the model will bind to.
    • - parameter: propertyName The model’s bound property name corresponding to the object selection. If multiple selection is allowed, then property must be of an NSMutableSet type, otherwise, property must be of type NSObject and cannot be a readonly property.
    • - parameter: selectionItems An array of the items that the user will choose from. All items must be of an NSObject type and all items must be instances of the same class.
    • - parameter: definition The definition of the selection items.

    Declaration

    Objective-C

    - (instancetype)initWithTableView:(UITableView *)tableView
                          boundObject:(NSObject *)object
           selectedObjectPropertyName:(NSString *)propertyName
                                items:(NSArray *)selectionItems
                       itemsDefintion:(SCDataDefinition *)definition;

Configuration