| // Copyright 2016 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef IOS_SHOWCASE_CORE_SHOWCASE_VIEW_CONTROLLER_H_ |
| #define IOS_SHOWCASE_CORE_SHOWCASE_VIEW_CONTROLLER_H_ |
| |
| #import <UIKit/UIKit.h> |
| |
| namespace showcase { |
| |
| // Required name for class that is intended to be tested. |
| extern NSString* const kClassForDisplayKey; |
| |
| // Required name for class that will be instantiated. |
| extern NSString* const kClassForInstantiationKey; |
| |
| // Optional description of the use case for the row. |
| extern NSString* const kUseCaseKey; |
| |
| // Type for one row of model. |
| typedef NSDictionary<NSString*, NSString*> ModelRow; |
| |
| } // namespace showcase |
| |
| // TableViewController that displays a searchable list of rows. |
| @interface ShowcaseViewController : UITableViewController |
| // Initializes the tableView with a list of rows. |
| - (instancetype)initWithRows:(NSArray<showcase::ModelRow*>*)rows |
| NS_DESIGNATED_INITIALIZER; |
| |
| - (instancetype)init NS_UNAVAILABLE; |
| - (instancetype)initWithCoder:(NSCoder*)aDecoder NS_UNAVAILABLE; |
| - (instancetype)initWithNibName:(NSString*)nibNameOrNil |
| bundle:(NSBundle*)nibBundleOrNil NS_UNAVAILABLE; |
| - (instancetype)initWithStyle:(UITableViewStyle)style NS_UNAVAILABLE; |
| @end |
| |
| #endif // IOS_SHOWCASE_CORE_SHOWCASE_VIEW_CONTROLLER_H_ |