Подтвердить что ты не робот

Какие вспомогательные функции Cocoa/Core Foundation вы хотите знать о 2 годах ранее?

Я только что открыл вспомогательные функции NSRect в NSGeometry.h(т.е. NSMidX, NSMaxX и т.д.)

Это значительно упростило бы повторное кодирование. Я знал о NSMakeRect, NSMouseInRect, NSOffsetRect и многих других, но почему-то упустил функции, которые помогают в пересчете геометрии NSRect.

4b9b3361

Ответ 1

Я нашел NSStringFrom *() полезным при регистрации таких структур, как CGRect, CGPoint и т.д.

Вы можете найти исчерпывающий обзор на Apple Ссылка на базовые функции.

Ответ 2

Вспомогательная функция для рисования трех частей изображения с левой крышкой, заполнением и правой крышкой. Идеально подходит для пользовательских кнопок

void NSDrawThreePartImage(NSRect frame,
    NSImage *startCap,
    NSImage *centerFill,
    NSImage *endCap,
    BOOL vertical,
    NSCompositingOperation op,
    CGFloat alphaFraction,
    BOOL flipped
);

Также найдите NSDrawNinePartImage

Ответ 3

Это то, что я хотел бы знать около 6 месяцев назад. Я создал первое приложение для iPhone, и я хотел создать простой файл справки, основанный на HTML, с помощью UIWebView Controller.

Однако я не мог понять, как встроить локальные изображения, которые я сохранил в Bundle, и я не хотел, чтобы у пользователя был доступ к Интернету для извлечения изображений с сервера.

Мало ли я знаю, что я мог бы сделать следующее, чтобы получить изображения из основного пакета

NSString *bundlePath = [[NSBundle mainBundle] bundlePath];
NSURL *bundleBaseURL = [NSURL fileURLWithPath: bundlePath];

[webView loadHTMLString:htmlContent baseURL: bundleBaseURL];

Изображение в вашем HTML затем может непосредственно вызвать локальные изображения.

<img src="yourImageFromTheMainBundle.jpg" />

Я понятия не имел, что я могу установить baseURL с расположением Bundle.

Ответ 4

Большая часть материала в NSPathUtilities.h. Я знал об этом два года назад, но когда я впервые нашел его, я хотел, чтобы Id видел его два года назад.: -)

В какой-то момент я потратил немало времени, потому что я не знал о NSCountedSet и сделал беспорядок моей замены на основе словаря. Я знаю несколько случаев, когда люди делали то же самое, потому что они вообще не знали о NSSet. Еще одна хорошая "скрытая" коллекция - CFBinaryHeap, которая реализует очередь приоритетов, но не имеет эквивалента NS.

Ответ 5

Один я помню

+ (NSBezierPath *)bezierPathWithRoundedRect:(NSRect)rect xRadius:(CGFloat)xRadius yRadius:(CGFloat)yRadius

Предоставлено, как рисовать округленный прямоугольник вручную - довольно хорошее упражнение. Есть и другие, к которым я сейчас привык.

Ответ 6

Создание цвета с рисунка с помощью

[UIColor colorWithPatternImage:[UIImage imageNamed:@"mypattern.png"]];

Ответ 7

Это ярлык вместо вызова библиотеки, который я пропустил, но он находится в духе потока.

Одним ярлыком, который я использую alot, является использование оператора встроенного формата в вызовах NSLog.


NSLog(@"x=%@", [someobject className]);

вместо более подробного


NSLog([NSString stringWithFormat:@"x=%@", [someobject classname]]);