Я хочу напечатать форму, которая содержит смесь UITextFields и UITextViews, выполняя одно и то же с каждым независимо от его фактического типа.Чтобы сохранить код в чистоте, я бы хотел присвоить каждому элементу в массиве views одну и ту же переменную, чтобы получить его параметры печати.Я думал, что смогу сделать это с переменной типа id, но я не нашел ничего, что скомпилируется.Код ниже не компилируется, но показывает, что я хочу сделать.Спасибо всем, кто говорит мне, как это сделать правильно.
id theField;
//for each field on the page
for (j = offsetToFirstFormField; j < [self.fields count]; j++) {
theField = [self.fields objectAtIndex: j];
printStr = theField.text;
if ([printStr length] > 0) {
theFont = [theField font];
maxSize = CGSizeMake(theField.frame.size.width, theField.frame.size.height);
printStrSize = [printStr sizeWithFont:theFont constrainedToSize:maxSize lineBreakMode:UILineBreakModeClip];
printRect = CGRectMake((theField.frame.origin.x * xScale) + xOffset, (theField.frame.origin.y * yScale) + yOffset, printStrSize.width, printStrSize.height);
[printStr drawInRect:printRect withFont:theFont];
}
}