ktu*_*nio 0 objective-c ios ios5
我正在与之合作NSManagedObjects,我想要返回任务的预算或任务类别的预算.
但是,该方法给出了错误:
Implicit conversion of int to Budget * is disallowed with ARC.
Run Code Online (Sandbox Code Playgroud)
这里发生了什么?
@implementation Task
@dynamic category;
@dynamic budget;
- (Budget *)budgetOrCategoryBudget {
return [self budget] || [[self category] budget];
}
Run Code Online (Sandbox Code Playgroud)
||是一个运算符,它接受两个对象或基元,并且TRUE如果至少有一个值是非零(如果是对象)或非零(如果是基元),FALSE则返回.在Objective-C BOOL其实是int,这里FALSE是0和TRUE是什么非零.所以你实际上是在返回编译器所期望的BOOL(由int表示)Budget *.
如果您想实际返回两个预算中的一个,则必须提供一些其他方法来选择它们.