【发布时间】:2012-01-28 23:50:51
【问题描述】:
我正在使用一个应用程序,它使用 XML 和 NSXMLParser 获取苹果实时提要的 RSS 提要。我将其分类,以便与 Steve Jobs 相关的所有内容(我使用 NSRange 将其分类为字符串)将显示在该类别中。您使用 UIPickerView 选择一个类别。我有一个方法,每当找到财务类别时都会调用它。这是在一个名为 RSSItem 的类中:
if (revenue.location != NSNotFound || earnings.location != NSNotFound || quarter.location != NSNotFound) {
// categoryKey = @"Finance";
if (currentString) {
[arr addObject:currentString];
NSLog(@"%i" , [arr count]);
}
}
currentString 是文章/rss 提要帖子的标题字符串。现在我必须在实现中使 arr 成为一个静态变量,否则它总是会变成一个空数组。现在它将数组记录为 8。这是声明。
@implementation RSSItem
static NSMutableArray *arr;
所以现在我需要将该数组分发给一个名为 Finance 的 TableViewController 类,但每当我尝试时它总是为空。因此,我尝试为作为 RSSItem 的子类的 TableViewController 制作模型。我需要在这个新类中访问该静态变量。我可以创建静态属性或变量吗?如果我做不到这一点,您能否为我提供一种分发此阵列的方法,而不是让它变空。我实际上不确定为什么它会变空。如果您知道原因,请告诉我并回答我的上述问题。谢谢!
【问题讨论】:
-
@user1172792:您的标题提到了“静态”和“实例变量”——这是一个矛盾。到目前为止发布的一个答案解释了如何管理实例变量并使其他类可用。你真的想要一个“静态”——一个由你的类的所有实例共享的数组——还是“实例”——你的类的每个实例一个数组?答案因需要而异...
标签: objective-c xcode uitableview static rss