在NSMutableArray中添加字符串

时间:2014-04-24 12:27:57

标签: ios

我在我的IOS应用程序中,我从服务器获取ID,我在字符串中保存,然后在NSMutableArray中添加字符串。我没有得到完美的方法,我可以在数组中添加字符串并使用外部数组范围。 这是我的代码请帮助我::

- (void)flickrAPIRequest:(OFFlickrAPIRequest *)inRequest didCompleteWithResponse:(NSDictionary *)inResponseDictionary
{
NSMutableArray *array=[[NSMutableArray alloc]init];
    i=0;
    NSLog(@"%s %@ %@", __PRETTY_FUNCTION__, inRequest.sessionInfo, inResponseDictionary);
    if (inRequest.sessionInfo == kUploadImageStep)
    {
        snapPictureDescriptionLabel.text = @"Setting properties...";
        NSLog(@"%@", inResponseDictionary);

     NSString* photoID =[[inResponseDictionary valueForKeyPath:@"photoid"] textContent];
     flickrRequest.sessionInfo = kSetImagePropertiesStep;

// for uploading pics on flickr we call this method
  [flickrRequest callAPIMethodWithPOST:@"flickr.photos.setMeta" arguments:[NSDictionary dictionaryWithObjectsAndKeys:photoID, @"photo_id", @"PicBackMan", @"title", @"Uploaded from my iPhone/iPod Touch", @"description", nil]];
   [self.array addObject:photoID];
    arr=array[0];
    counterflicker++;
     NSLog(@"  Count : %lu", (unsigned long)[array count]);

}

如何在数组中添加photoID(字符串)? 请帮帮我......

3 个答案:

答案 0 :(得分:1)

NSMutableArray 中添加 NSString 就像这样

NSString *str = @"object";
NSMutableArray *loArr = [[NSMutableArray alloc] init];
[loArr addObject:str];

在您的代码中为什么使用 self.array ?就这样写。 [array addObject:photoID] ;

答案 1 :(得分:0)

我在你的代码中观察到了这一点。在本地范围内声明可变数组。

所以只需使用

 [array addObject:photoID];

Instead of 

   [self.array addObject:photoID];

可能你是这个具有相同名称的数组的创建属性,然后你需要分配它。

如果为此创建属性,则删除本地声明和alloc数组。

 self.array=[[NSMutableArray alloc]init];

然后使用

   [self.array addObject:photoID];

答案 2 :(得分:0)

  • self关键字用于全局变量,但在您的代码中 "阵列"是一个局部变量。所以需要self.array
  

[array addObject:photoID];

  • 在添加检查之前,photoID是否为零
 if (photoID.length > 0) {
        [array addObject:photoID];
    }