2011-01-19 2 views
0

это то, что я пишуновичку и оптимизация кода

domaine *detailsDomaine = [search_result objectAtIndex:indexPath.row]; 
cell.textLabel.text = [NSString stringWithFormat:@"%@",[detailsDomaine valueForKey:@"nom"]]; 

Можно ли не назначить переменную (detailsDomaine), чтобы достичь того же результата? Должен ли я освобождать детали переменной Domaine после этого?

Я не использую его в другом месте в остальной части кода ...

+0

Я бы сказал, что это на самом деле лучше, чем забивать «[search_result objectAtIndex: indexPath.row]» в строке назначения меток. Это намного более читаемо и проще в обслуживании. – Gianz

ответ

0

Можно не создавать отдельную переменную для этого. Заменить detailsDomaine во втором ряду с правой стороны присваивания в первом ряду:

cell.textLabel.text = [NSString stringWithFormat:@"%@",[[search_result objectAtIndex:indexPath.row] valueForKey:@"nom"]]; 

И нет, вы не должны освободить detailsDomaine объект после этого, так как вы не retain это.

+0

@krifur Если он будет повторно использован с собственностью, тогда он должен быть nil, а не release, и если вы его выделили, вы можете его освободить, а затем сделать его нулевым. – Sabby

2

Нет, вам не нужно выпускать деталиDomaine, потому что вы не выделили для нее никакой памяти или не сохранили ее. Вы могли бы сделать что-то вроде этого:

cell.textLabel.text = [NSString stringWithFormat:@"%@", [[search_result objectAtIndex:indexPath.row] valueForKey:@"nom"]]; 

но это довольно уродливо.

+0

thx снова снова! – krifur

+0

right bro ...... – Sabby

0

первую очередь Вам не нужно, чтобы освободить его ...

вы можете записать его также в одном операторе, как

cell.textLabel.text = [NSString stringWithFormat:@"%@",[[search_result objectAtIndex:indexPath.row] valueForKey:@"nom"]]; 
0

Другие ответы правильны, позвольте мне добавить следующее: То, что сказал Джонни Грасс, верно. Это уродливо, т. Е. Труднее читать. Это не принесет вам ничего. Компилятор, вероятно, заметит избыточное назначение и оптимизирует его. И даже если это произойдет, если это не будет называться 10000 раз в секунду, его не стоит оптимизировать.

+0

thx, вы просто ожидаете, что я собирался спросить! – krifur

Смежные вопросы