我创建了一个简单的数据库,并放入了NSUserDefaults。我的数据库是NSMutableArray,其中包含字典和数组。从NSUSerDefaults创建NSMutableArray时,无法将任何对象添加到NSMutableArray内的可变对象中。这是我的代码:
NSMutableArray *arrayOne = [NSMutableArray arrayWithContentsOfFile:[self createEditableCopyOfIfNeededWithFileName:@"Form.plist"]];
NSUserDefaults *ayarlar = [NSUserDefaults standardUserDefaults];
[ayarlar setObject:arrayOne forKey:@"form"];
NSMutableArray *arrayTwo = [NSMutableArray arrayWithArray:[[ayarlar objectForKey:@"form"] mutableCopy]];
[[[arrayTwo objectAtIndex:0] objectForKey:@"itemlar"] addObject:@"hop"];
Run Code Online (Sandbox Code Playgroud)
这是错误:
“ NSInternalInconsistencyException”,原因:“-[__ NSCFArray insertObject:atIndex:]:发送给不可变对象的变异方法”
我该如何进行这项工作?谢谢大家。
我在做什么是在后台创建大量的UIView并将它们保存在NSMutableArray中以便以后使用.但是,当我关闭视图控制器时,我检查Xcode中的内存,似乎有些内存没有被释放.我检查了; 视图控制器正在被释放.
请检查:

在几次显示和解除视图控制器之后发生这种情况.其中一些正在被释放,但不是全部.谢谢.
我试图以UICollectionViewCell编程方式创建一个子类.我正在尝试使用自动布局支持创建.
我想要UIView添加前导,顶部,尾部和底部约束的单元格的内容视图.但是当我这样做时,我的UIView's宽度和高度保持为零.这是我的代码内部initWithFrame方法:
self.contentView.translatesAutoresizingMaskIntoConstraints = NO;
_someView = [[UIView alloc] initWithFrame:CGRectZero];
_someView.translatesAutoresizingMaskIntoConstraints = NO;
[self.contentView addSubview:_someView];
NSArray *horizontalConstraints = [NSLayoutConstraint constraintsWithVisualFormat:@"H:|-2-[someView]-2-|" options:0 metrics:nil views:@{@"someView" : _someView}];
NSArray *verticalConstraints = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|-2-[someView]-2-|" options:0 metrics:nil views:@{@"someView" : _someView}];
[self.contentView addConstraints:horizontalConstraints];
[self.contentView addConstraints:verticalConstraints];
Run Code Online (Sandbox Code Playgroud)
为什么这些限制是灰色的?
谢谢!