Ответ 1
Я нашел NSStringFrom *() полезным при регистрации таких структур, как CGRect, CGPoint и т.д.
Вы можете найти исчерпывающий обзор на Apple Ссылка на базовые функции.
Я только что открыл вспомогательные функции NSRect в NSGeometry.h(т.е. NSMidX, NSMaxX и т.д.)
Это значительно упростило бы повторное кодирование. Я знал о NSMakeRect, NSMouseInRect, NSOffsetRect и многих других, но почему-то упустил функции, которые помогают в пересчете геометрии NSRect.
Я нашел NSStringFrom *() полезным при регистрации таких структур, как CGRect, CGPoint и т.д.
Вы можете найти исчерпывающий обзор на Apple Ссылка на базовые функции.
Вспомогательная функция для рисования трех частей изображения с левой крышкой, заполнением и правой крышкой. Идеально подходит для пользовательских кнопок
void NSDrawThreePartImage(NSRect frame,
NSImage *startCap,
NSImage *centerFill,
NSImage *endCap,
BOOL vertical,
NSCompositingOperation op,
CGFloat alphaFraction,
BOOL flipped
);
Также найдите NSDrawNinePartImage
Это то, что я хотел бы знать около 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.
Большая часть материала в NSPathUtilities.h. Я знал об этом два года назад, но когда я впервые нашел его, я хотел, чтобы Id видел его два года назад.: -)
В какой-то момент я потратил немало времени, потому что я не знал о NSCountedSet и сделал беспорядок моей замены на основе словаря. Я знаю несколько случаев, когда люди делали то же самое, потому что они вообще не знали о NSSet. Еще одна хорошая "скрытая" коллекция - CFBinaryHeap, которая реализует очередь приоритетов, но не имеет эквивалента NS.
Один я помню
+ (NSBezierPath *)bezierPathWithRoundedRect:(NSRect)rect xRadius:(CGFloat)xRadius yRadius:(CGFloat)yRadius
Предоставлено, как рисовать округленный прямоугольник вручную - довольно хорошее упражнение. Есть и другие, к которым я сейчас привык.
Создание цвета с рисунка с помощью
[UIColor colorWithPatternImage:[UIImage imageNamed:@"mypattern.png"]];
Это ярлык вместо вызова библиотеки, который я пропустил, но он находится в духе потока.
Одним ярлыком, который я использую alot, является использование оператора встроенного формата в вызовах NSLog.
NSLog(@"x=%@", [someobject className]);
вместо более подробного
NSLog([NSString stringWithFormat:@"x=%@", [someobject classname]]);