0

我在应用程序中创建了几个数组,例如:

NSString *ItemsA[91];
 int GroupRep[11];
 double TaxR[16];
 short InputT[200];
 BOOL tmpEx[20];  

并且需要这些结构通过应用程序可用,直到应用程序结束。我的问题是:我。我需要明确分配 NSString 的数组还是可以以这种方式初始化每个数组单元格:例如 ItemsA[10] = @"use option1"。

ii. 我需要释放或解除分配上述任何数组吗

iii. 我知道如果我没有专门使用 alloc,那么 iOS 将自动执行保留/释放操作。如果是这样呢:

UITapGestureRecognizer *gestur1 = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dispR)];

同样,我正在创建一个类:

   myClass=[[PieClass alloc]initWithFrame:CGRectMake(1+ipX, ipY, 320, rView.frame.size.height)];
    ...
    [myClass release]

这个班级分配他自己的东西。我需要像上面那样释放每个班级还是只释放整个班级就足够了。

谢谢

4

1 回答 1

1

一般来说,不要使用语言数组来存储对象。使用NSMutableArray实例;它们的开销相对较小(可能无法衡量),而且更自然。

您还需要将任何值存储在可本地化的文件中以供显示。因此,您需要加载所述文件,并且再次将它们存储在 NSArray 中要容易得多。developer.apple.com 上有大量关于该主题的文档。

最后,这看起来像您的应用数据。因此,您可能真的希望有一个适当的模型层来管理所述数据。有一天,您可能希望重构应用程序以从服务器中提取所述数据,并且拥有适当的模型层将帮助您做到这一点。

请注意,您通常可以将模型(数据管理的东西)从应用程序委托中挂起。或者您可以通过某个地方的单例访问它。

这是一个高级别的答案,其目标是尝试将您引导到一条更符合预期模式的路径。

于 2012-08-03T22:32:15.013 回答