Чего не хватает в Какао? [закрыто]

Как насчет нормализации значения каждой степени до 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) 
13
задан Quinn Taylor 29 June 2009 в 04:31
поделиться

12 ответов

  • Встроенная поддержка регулярных выражений (например, 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 .)

    Конечно, я определенно поклонник широкого разнообразие структур данных в целом, хотя простота Какао освежает по сравнению с некоторыми языками.

    16
    ответ дан 1 December 2019 в 19:15
    поделиться

    Способ указания свойств копирования / сохранения, которые автоматически освобождаются при освобождении. Возможно

    @property (nonatomic, copy, dealloc) NSString* name;
    

    И, конечно же, RegexKit.

    5
    ответ дан 1 December 2019 в 19:15
    поделиться

    Многопользовательская поддержка Core Data. Можно мечтать :)
    Но по крайней мере Core Data теперь доступен на iPhone с OS 3.0.

    4
    ответ дан 1 December 2019 в 19:15
    поделиться

    Способ пометить целые объекты Core Data как временные. Это было бы особенно полезно для реализации совместного использования Bonjour.

    Например, у меня есть модель, подобная iTunes, с объектами Playlist и Song . В настоящее время для реализации совместного использования Bonjour я создаю два дополнительных подкласса NSObject , TransientPlaylist и TransientSong , которые реализуют все те же методы, что и их аналоги Core Data.

    Мне не нужно удваивать количество классов модели только для того, чтобы иметь временные версии моих объектов - не тогда, когда я хочу, чтобы они вели себя точно так же, без настойчивости.

    (Да, другой вариант - иметь постоянное хранилище в памяти, в котором хранятся все сущности, которые должны быть временными. В любом случае это ненужные накладные расходы)

    3
    ответ дан 1 December 2019 в 19:15
    поделиться
    • Хорошая поддержка регулярных выражений
    • Менеджеры компоновки в AppKit. Автоизменение размеров просто не подходит для сложных графических интерфейсов.
    2
    ответ дан 1 December 2019 в 19:15
    поделиться

    Надлежащая поддержка веб-служб.

    1
    ответ дан 1 December 2019 в 19:15
    поделиться

    Безусловно, разумный интерфейс от управления контекстами объектов к серверам баз данных SQL был бы довольно крутым.

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

    Кроме того, кажется, существует реальный пробел в поддержке IB сложных окон с несколькими панелями с работающими разделителями. Я полагаю, они работают над этим?

    А что случилось с независимостью от разрешения, а?

    0
    ответ дан 1 December 2019 в 19:15
    поделиться

    @property (.., copy) поддержка классов изменяемых типов ( NSMutableArray , NSMutableDictionary и т. Д.). В настоящее время, если вы присваиваете значение свойству для класса изменяемого типа, созданный объект будет неизменяемым (из-за копии).

    2
    ответ дан 1 December 2019 в 19:15
    поделиться

    Переходя в Cocoa из мира .NET, у меня есть один запрос: LINQ!

    За последние несколько месяцев я полюбил возможность использовать LINQ в любой коллекции, которая находится рядом со мной .

    1
    ответ дан 1 December 2019 в 19:15
    поделиться

    Более дружественная обертка вокруг Keychain Services.

    3
    ответ дан 1 December 2019 в 19:15
    поделиться

    Встроенная поддержка JSON для импорта / экспорта.

    0
    ответ дан 1 December 2019 в 19:15
    поделиться

    Определенно аналог для Carbon HotKeys !

    0
    ответ дан 1 December 2019 в 19:15
    поделиться