То, с чем вы столкнулись, это оператор запятой. Оператор запятой оценивает каждый из своих операндов на предмет их побочных эффектов и вычисляет результат последнего выражения. Например:
int i;
int j;
int z;
z = (i = 4, j = 3, i + j);
// z is now 7
Что у вас здесь:
(@"http://website.edu/get_stuff/%@",[NSString stringWithFormat:@"%d",_stuffID])
Оценивается до
[NSString stringWithFormat:@"%d", _stuffID]
Это потому, что первая часть @"..."
является выражением, которое не имеет побочных эффектов, а результат оператора запятой - это результат метода [NSString stringWithFormat:]
.
То, что вы ищете, я думаю, это так:
NSString *urlString = [NSString stringWithFormat:@"http://website.edu/get_stuff/%d",_stuffID];
NSURL *urlCards = [[NSURL alloc] initWithString:urlString];
Вы также можете сделать это в одну строку, как ответ KingofBliss.