gpt4 book ai didi

iphone - 将 NSMutableArray 添加到 NSMutableDictionary 并且数组为空?

转载 作者:行者123 更新时间:2023-12-03 16:34:00 25 4
gpt4 key购买 nike

我有一个简单的对象“post”,它有两个 NSMutableArrays 作为属性。一种用于“图像”对象,另一种用于“视频”对象。在“post”生命周期的某个时刻,我要求它提供自身的字典表示形式。

NSMutableDictionary *postDict = [post getDictionary];

-(NSMutableDictionary *)getDictionary{

NSMutableArray *imgDictArry = [NSMutableArray arrayWithObjects:nil];
NSMutableArray *movDictArry = [NSMutableArray arrayWithObjects:nil];

for (int i = 0; i<self.images.count; i++) {
NSMutableDictionary *imgDict = [[self.images objectAtIndex:i] getDictionary];
[imgDictArry addObject:imgDict];
}

for (int i = 0; i<self.videos.count; i++) {
NSMutableDictionary *movDict = [[self.videos objectAtIndex:i] getDictionary];
[movDictArry addObject:movDict];
}

NSMutableDictionary *postDict = [NSMutableDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithBool:self.friendsOnly], @"IsFriendsOnly",
self.message, @"Message",
self.shortText, @"ShortText",
self.authorId, @"AuthorId",
self.recipientId, @"RecipientId",
self.language, @"Language",
self.lat, @"Lat",
self.lng, @"Lng",
imgDictArry, @"Images",
movDictArry, @"Videos",
nil];

return postDict;
}

如您所见,“image”和“video”对象有自己的方法来将自己描述为 NSMutableDictionary 对象。

-(NSMutableDictionary *)getDictionary{
return [NSMutableDictionary dictionaryWithObjectsAndKeys:
self.nativeURL, @"NativeURL",
self.previewURL, @"PreviewURL",
self.smallURL, @"SmallURL",
self.thumbURL, @"ThumbURL",
self.imageId, @"ImageId",
self.width, @"Width",
self.height, @"Height",
nil];
}

我没有收到任何错误,但我的 imgDictArrymovDictArry 对象在我将其设置为 NULL 后变成了 NULL postDict 对象。如果我在这一刻之前将它们记录到控制台,我可以看到字典数据。但请求该对象的其他类的这些属性却为 null。

最佳答案

也许您的函数之一,例如 self.shortText(或 self.lat...)返回 nil,在这种情况下dictionaryWithObjectsAndKeys 并不是您所期望的那样:它被截断为第一个返回 nil 的函数...

关于iphone - 将 NSMutableArray 添加到 NSMutableDictionary 并且数组为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3331967/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com