
这将删除BLOG中的对象,但不会删除LABEL中的对象.我以为coredata会自动删除两个intities吗?我是否必须在每个实体上手动完成?我该怎么做LABEL没有删除方法.
//delete records from database no longer needed
for (NSManagedObject *blogTBD in deleteArray) {
//Delete object from BLOG
[self.managedObjectContext deleteObject: blogTBD];
}
Run Code Online (Sandbox Code Playgroud)
同样在我的BLOG.h文件中有四种方法.有人可以解释为什么他们被使用,因为我似乎无法使用它们的任何有用的东西.
- (void)addLabelsObject:(LABEL *)value;
- (void)removeLabelsObject:(LABEL *)value;
- (void)addLabels:(NSSet *)values;
- (void)removeLabels:(NSSet *)values;
Run Code Online (Sandbox Code Playgroud)
在我的脑海中,逻辑将是[blogObj addLabels:nssetoflabels]在LABEL中添加新标签或[blogObj removeLabelsObject:label]来删除LABEL中的标签,但这些都不起作用.
以下是我为每个博客添加LABEL标签的方法,这是我使用它的唯一方法:
for (int i = 0; i < newCategory.count; i++) {
LABEL *blogLabels = [NSEntityDescription insertNewObjectForEntityForName:@"LABEL" inManagedObjectContext:self.managedObjectContext];
blogLabels.categories = [NSString stringWithFormat:@"%@", newCategory[i]];
//Assign relatioship - add labels to blog
blogLabels.blog_labels = myBlog;
//save label
[self.managedObjectContext save:&error];
}
Run Code Online (Sandbox Code Playgroud) 有人知道将所有子视图的translatesAutoresizingMaskIntoConstraints 设置为 false 的含义吗?
考虑以下:
extension UIView {
public func setAutoresizingMaskIntoConstraintsForAllSubviews() {
for v in self.subviews {
v.translatesAutoresizingMaskIntoConstraints = false
}
}
}
...
let cell = UITableViewCell()
cell.setAutoresizingMaskIntoConstraintsForAllSubviews() //or
cell.contentView.setAutoresizingMaskIntoConstraintsForAllSubviews()
Run Code Online (Sandbox Code Playgroud)
根据我的测试,一切正常。我没有看到与任何 UIKit 组件有任何约束冲突。
根据苹果的文档:
默认情况下,对于您以编程方式创建的任何视图,该属性都设置为 true。如果您在 Interface Builder 中添加视图,系统会自动将此属性设置为 false。
https://developer.apple.com/reference/uikit/uiview/1622572-translatesautoresizingmaskintoco