Как насчет нормализации значения каждой степени до 0-360:
a1_norm = a1 % 360
a2_norm = a2 % 360
b1_norm = b1 % 360
b2_norm = b2 % 360
Затем вы просто проверяете пересечение:
(a1_norm <= b2_norm) and (a2_norm<= b1_norm)
Встроенная поддержка регулярных выражений (например, RegexKit ) была бы чрезвычайно удобной. NSRegularExpression доступен в iOS 4.0+, но все еще недоступен в Mac OS X.
Простой способ постепенного чтения объектов NSString из большого текстового файла без загрузки всего этого в память. (NSInputStream и NSFileHandle просто не подходят для этого.)
Возможность дополнительно заставить NSSet / NSMutableSet / NSCountedSet хранить и перечислять объекты в отсортированном порядке (например, двоичное дерево поиска ), безусловно, будет добро пожаловать. То же самое и с массивами Какао - в настоящее время мне нужно вызвать что-то вроде - [NSArray sortedArrayUsingSelector:]
или - [NSMutableArray sortUsingSelector:]
, чтобы получить отсортированный массив, а для наборов я должен сначала создайте массив.
Очередь кучи / приоритета. Обертка Cocoa вокруг CFBinaryHeap (которая определенно не так проста в использовании, как коллекции Cocoa), вероятно, подойдет.
Словарь, который может хранить несколько значений для каждого ключа, обычно известный как мультимножество . NSCountedSet - это в значительной степени мультимножество / сумка, и было бы неплохо иметь то же самое для ассоциаций ключ-значение (NSMultiDictionary?) Вместо того, чтобы катить свою собственную.
Дружественная оболочка для FSEvents . (CFFileDescriptor выполняет часть работы, но это непросто для Cocoa. )
Метод создания NSString из строки формата и массива объектов (а не только varargs). Этот SO-ответ показывает пример. Было бы непросто заставить его работать с примитивами ... Может быть, NSPointerArray?
Согласованные централизованные API-интерфейсы, упрощающие форматирование (и синтаксический анализ) телефонных номеров для различных регионов. В настоящее время вам нужно выполнить собственную проверку с помощью NSNumberFormatter (или NSScanner), и этот процесс утомителен и подвержен ошибкам. (Например, см. NSNumberFormatter для форматирования номеров телефонов в США и Удалите все, кроме чисел из NSString .)
Конечно, я определенно поклонник широкого разнообразие структур данных в целом, хотя простота Какао освежает по сравнению с некоторыми языками.
Было бы непросто заставить его работать с примитивами ... Может быть, NSPointerArray?Согласованные централизованные API-интерфейсы, упрощающие форматирование (и синтаксический анализ) телефонных номеров для различных регионов. В настоящее время вам нужно выполнить собственную проверку с помощью NSNumberFormatter (или NSScanner), и этот процесс утомителен и подвержен ошибкам. (Например, см. NSNumberFormatter для форматирования номеров телефонов в США и Удалите все, кроме чисел из NSString .)
Конечно, я определенно поклонник широкого разнообразие структур данных в целом, хотя простота Какао освежает по сравнению с некоторыми языками.
Было бы непросто заставить его работать с примитивами ... Может быть, NSPointerArray?Согласованные централизованные API-интерфейсы, упрощающие форматирование (и синтаксический анализ) телефонных номеров для различных регионов. В настоящее время вам нужно выполнить собственную проверку с помощью NSNumberFormatter (или NSScanner), и этот процесс утомителен и подвержен ошибкам. (Например, см. NSNumberFormatter для форматирования номеров телефонов в США и Удалите все, кроме чисел из NSString .)
Конечно, я определенно поклонник широкого разнообразие структур данных в целом, хотя простота Какао освежает по сравнению с некоторыми языками.
В настоящее время вам нужно выполнить собственную проверку с помощью NSNumberFormatter (или NSScanner), и этот процесс утомителен и подвержен ошибкам. (Например, см. NSNumberFormatter для форматирования номеров телефонов в США и Удалите все, кроме чисел из NSString .)Конечно, я определенно поклонник широкого разнообразие структур данных в целом, хотя простота Какао освежает по сравнению с некоторыми языками.
В настоящее время вам нужно выполнить собственную проверку с помощью NSNumberFormatter (или NSScanner), и этот процесс утомителен и подвержен ошибкам. (Например, см. NSNumberFormatter для форматирования номеров телефонов в США и Удалите все, кроме чисел из NSString .)Конечно, я определенно поклонник широкого разнообразие структур данных в целом, хотя простота Какао освежает по сравнению с некоторыми языками.
Способ указания свойств копирования / сохранения, которые автоматически освобождаются при освобождении. Возможно
@property (nonatomic, copy, dealloc) NSString* name;
И, конечно же, RegexKit.
Многопользовательская поддержка Core Data. Можно мечтать :)
Но по крайней мере Core Data теперь доступен на iPhone с OS 3.0.
Способ пометить целые объекты Core Data как временные. Это было бы особенно полезно для реализации совместного использования Bonjour.
Например, у меня есть модель, подобная iTunes, с объектами Playlist
и Song
. В настоящее время для реализации совместного использования Bonjour я создаю два дополнительных подкласса NSObject
, TransientPlaylist
и TransientSong
, которые реализуют все те же методы, что и их аналоги Core Data.
Мне не нужно удваивать количество классов модели только для того, чтобы иметь временные версии моих объектов - не тогда, когда я хочу, чтобы они вели себя точно так же, без настойчивости.
(Да, другой вариант - иметь постоянное хранилище в памяти, в котором хранятся все сущности, которые должны быть временными. В любом случае это ненужные накладные расходы)
Безусловно, разумный интерфейс от управления контекстами объектов к серверам баз данных SQL был бы довольно крутым.
Я бы хотел увидеть лучшие примеры написания пользовательских представлений с программно созданными ячейками, все с автоматической прокруткой приятно.
Кроме того, кажется, существует реальный пробел в поддержке IB сложных окон с несколькими панелями с работающими разделителями. Я полагаю, они работают над этим?
А что случилось с независимостью от разрешения, а?
@property (.., copy)
поддержка классов изменяемых типов ( NSMutableArray
, NSMutableDictionary
и т. Д.). В настоящее время, если вы присваиваете значение свойству для класса изменяемого типа, созданный объект будет неизменяемым (из-за копии).
Переходя в Cocoa из мира .NET, у меня есть один запрос: LINQ!
За последние несколько месяцев я полюбил возможность использовать LINQ в любой коллекции, которая находится рядом со мной .
Более дружественная обертка вокруг Keychain Services.