ios - 不导入头文件,一样可以使用特定类创建对象?
巴扎黑
巴扎黑 2017-04-17 16:47:04
0
0
352

建立一个table view,用plist记录控制器的类,点击一个cell,跳转到特定类型的控制器。发现了一个很奇怪的问题:即使不导入目标控制器的头文件,一样可以顺利跳转。

下面时代码:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    // 获取cell字典
    NSArray *cellArray = self.dataArray[indexPath.section][@"cells"];
    NSDictionary *cellDict = cellArray[indexPath.row];
    
    if (cellDict[@"targetViewController"]) {
        
        // 获取控制器类名
        NSString *className = cellDict[@"targetViewController"];
        // 控制器类对象
        Class targetViewControllerClass = NSClassFromString(className);
        // 创建控制器
        id targetViewController = [[targetViewControllerClass alloc] init];
        
        [self.navigationController pushViewController:targetViewController animated:YES];

    } else {
        return;
    }
}

只是单纯创建了目标控制器的.h和.m文件,没有在任何地方引用,请问系统是如何顺利找到并创建对象的?

巴扎黑
巴扎黑

全部回覆(0)
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!