我正在努力寻找下面显示的代码的速记版本。基本上我将事件保存到核心数据中。每个活动最多有15个联系人。 newEvent来自Event类。
下面的代码效果很好,但我不希望每个联系人重复15次。有更简单的方法吗?
if ([[selectedContacts objectAtIndex:14] objectAtIndex:0] != (id)[NSNull null]) {
newEvent.contact15 = [[selectedContacts objectAtIndex:14] objectAtIndex:0];
}
else {
newEvent.contact15 = @"";
}
答案 0 :(得分:4)
您可以使用此代码
-(void) Solve{
for (int i = 0 ; i < 15 ; i++){
Contact *con = [newEvent.contacts objectAtIndex:14 - i];
if ([[selectedContacts objectAtIndex:14 - i] objectAtIndex:0] != (id)[NSNull null]) {
con = [[selectedContacts objectAtIndex:14 - i] objectAtIndex:0];
}
else {
con = @"";
}
}
}
您应该在contact
课程中将newEvent
定义为Array
答案 1 :(得分:0)
您可以使用NSSelectorFromString
将[NSString stringWithFormat:@"setContact%d", 15]
转换为SEL
值,然后使用performSelector
。但ARC不会那样。
您可以使用此语句#define
C宏,然后将其调用15次并立即#undef
。它会短得多,但并不漂亮。
但最好的方法是重新设计类,使其具有单个contacts
数组。