Есть ли что-то вроде общего списка в Какао / Objective-C?

use this both :  

obj = Math.max.apply(Math,data.map(function(o){return o.partsCount;}));

Array.prototype.max = function() {
  return Math.max.apply(null, this);
};
30
задан Mike Abdullah 26 July 2012 в 09:08
поделиться

2 ответа

Желание этого в приложении Какао часто является признаком слабого дизайна.

NSArray является неизменным, поэтому он не будет «брать указатель на какой-либо объект» и, вероятно, уже содержит правильные объекты при передаче вам. Я предполагаю, что вас больше беспокоит, это NSMutableArray , где вы думаете, что другие части вашего кода могут добавить неправильный вид объекта. Но взгляните на само Какао; невероятно редко можно представить изменяемый массив как часть дизайна класса.

Вместо этого вы обычно предоставляете NSArray и пару методов для изменения этого массива. Что-то вроде следующего:

@class Foo : NSObject
- (NSArray *)bars;
- (void)addBar:(Bar *)bar;
- (void)removeBar:(Bar *)bar;
@end

Это обычно останавливает вставку неправильных объектов просто при наличии предупреждения компилятора, и тогда, конечно, вы можете добавить утверждения в -addBar:

34
ответ дан 28 November 2019 в 00:04
поделиться

Objective-C не поддерживает универсальное программирование. Вы всегда можете использовать Objective-C ++ и список STL.

9
ответ дан 28 November 2019 в 00:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: