使用对象将字符串添加到数组

时间:2012-01-12 03:39:11

标签: iphone objective-c ios cocoa

我需要做的是将Text从文本字段传输到数组中。这是我为获取文本所做的工作:NSString *string = [NSString stringWithFormat@"%@", textfield.text];

现在如何在不丢失数组中已有的所有对象的情况下将此字符串添加到我的数组中?

1 个答案:

答案 0 :(得分:4)

您需要使用NSMutableArray而不是NSArray。

你会发现一个非常有用的方法

- (void)addObject:(id)anObject

其中

  

在数组的末尾插入一个给定的对象。

简单使用NSMutableArray

NSMutableArray *arMu = [[NSMutableArray alloc] initWithCapacity:10];
NSString *s = @"Some string";
[arMy addObject:s];

此外,如果您有IBOutlet的@property定义,我会改为

NSString *string = self.textfield.text;

Documentation一直是获得答案的好地方

  

将writeToFile:原子:
      将数组的内容写入给定路径的文件        - (BOOL)writeToFile:(NSString *)path atomically:(BOOL)flag
      的参数
      的路径
      写入数组内容的路径       如果path包含波形符(〜)字符,则必须在调用此方法之前使用stringByExpandingTildeInPath对其进行扩展。
      的标志
      如果是,则将数组写入辅助文件,然后将辅助文件重命名为path。如果为NO,则将数组直接写入路径。 YES选项保证路径(如果存在的话)即使系统在写入期间崩溃也不会被破坏       返回值
      如果文件写成功,则为YES,否则为NO       的讨论
      如果数组的内容都是属性列表对象(NSString,NSData,NSArray或NSDictionary对象),则此方法编写的文件可用于使用类方法arrayWithContentsOfFile:或实例方法initWithContentsOfFile:初始化新数组。此方法在写出文件之前以递归方式验证所有包含的对象是属性列表对象,如果所有对象都不是属性列表对象,则返回NO,因为生成的文件不是有效的属性列表。       可用性
      适用于Mac OS X v10.0及更高版本       另见
       - initWithContentsOfFile:
      声明在       NSArray.h