【问题标题】:Adding objects to instance variable array将对象添加到实例变量数组
【发布时间】:2015-05-28 10:33:52
【问题描述】:

有人可以帮我解决这个问题吗:

我正在我的 TableVC.m 文件中创建一个属性:

@property NSMutableArray *savingBeaconSpecs;

在我的 Viewdidload 中,我实例化了数组:

 NSMutableArray *savingBeaconSpecs = [[NSMutableArray alloc]init];

现在我向服务器发出请求,我想将返回的 JSON 保存到对象中,并且每次都将它们保存在数组中。所以我在 ConnectionDidFinishLaunching 中做了以下操作:

 self.artworkArray = [NSJSONSerialization JSONObjectWithData:self.data options:0 error:&err];
NSLog(@"Log ArtworkArray in ConnectionDidFinishLoading%@", self.artworkArray);

还有:

Artwork *artwork = [[Artwork alloc]init];
artwork.title = [self.artworkArray valueForKey:@"name"];
artwork.artist = [[self.artworkArray objectForKey:@"artist"] valueForKey:@"name"];
artwork.CreationYear = [self.artworkArray valueForKey:@"creationYear"];
artwork.categorie = [[self.artworkArray objectForKey:@"exposition"] valueForKey:@"name"];

现在我想把这个对象保存到 saveBeaconSpecs NSMutableArray 中

[self.savingBeaconSpecs addObject:artwork];

但是当我尝试记录他的内容时,NSMUtableArray SavingBeaconSpecs 总是返回 0

有人吗?

【问题讨论】:

    标签: ios arrays object save connection


    【解决方案1】:

    因为您在 viewDidLoad 本地声明它:

    NSMutableArray *savingBeaconSpecs = [[NSMutableArray alloc]init];
    

    你应该使用

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

    [self.savingBeaconSpecs addObject:artwork];
    

    并将您的财产声明为(没有第一个大写字母 S)

    @property NSMutableArray *savingBeaconSpecs;
    

    【讨论】:

      【解决方案2】:

      要实例化数组,你应该这样做: self.savingBeaconSpecs = [[NSMutableArray alloc] init];
      或同样好: self.savingBeaconSpecs = [NSMutableArray array];

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-05-18
        • 1970-01-01
        • 1970-01-01
        • 2012-06-02
        • 1970-01-01
        • 2013-04-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多