Objective-C:正确的传球方法

Mic*_*ael 5 iphone scope objective-c ios

你怎么能在方法中传递变量?

我有一个UITabBarController.

- (void)tabBarController:(UITabBarController *)tabBarController 
        didSelectViewController:(UIViewController *)viewController {
     NSLog(@"my ns string %@", viewController.tabBarItem.title);
}
Run Code Online (Sandbox Code Playgroud)

我需要NSString变量集,以便在此事件中指定表的单元格时可以访问它.这个想法是表格内容取决于标签标题.

- (UITableViewCell *)tableView:(UITableView *)tableView 
         cellForRowAtIndexPath:(NSIndexPath *)indexPath
Run Code Online (Sandbox Code Playgroud)

在我熟悉的其他语言中,我总是只在函数中传递变量,或者它们是类中的变量.我是Objective-C的新手,我不知道如何处理变量范围.

我读到可以通过创建一个仅用于变量的类来完成.这是正确的方法吗?建议非常感谢.

Ken*_*ner 0

您仍然可以在 Objective-C 中传递变量 - 通常对于拥有该表的视图控制器,您可以将该字符串值传递给它。

如果在更全局的范围内需要该字符串,您可以将其作为要访问的属性放在应用程序委托中。

如果随着时间的推移,太多的东西最终出现在应用程序委托中,您可以将它们分组在一个单例中 - 应用程序委托本身就是一个单例,但您可以创建在应用程序的生命周期中保留的其他实例,并作为存储的中心位置整个应用程序中常用的值。