В Objective C у меня есть объект, например. Person
с большим количеством полей firstName
, lastName
, phoneNumber
, address
, city
... и так далее. Эти типы полей: NSString
, и любой из них может быть nil
.Просмотр полей объекта
Теперь я хочу, чтобы объединить свои значения поля в другом NSString
:
Person *p = ...
NSMutableString *s = [[NSMutableString alloc] init];
for (NSString *field in @[p.firstName, p.lastName, p.phoneNumber,
p.adress, p.city, ....more fields...]) {
if ([field length] > 0) {
[s appendFormat:@"%@\n", field];
}
}
Проблема в том, что этот код аварии всякий раз, когда один из поля nil
. У меня есть исключение:
[__NSPlaceholderArray initWithObjects:count:]: attempt to insert nil object
from objects[0]'
Как я мог справиться просто случай nil
значений в пределах моего for
цикла?
редактировал свой вопрос для ясности: будет много полей в объекте (около 15) –
Хорошо, это означает, что я должен изменить свой ответ :) –
@ Том Йеп, извините, мой пример был слишком конкретным. –