Какао или Objective C?

Используйте search() метод API, который возвращает текущий примененный глобальный поиск при вызове без аргументов.

Затем сгенерируйте URL непосредственно в функции обратного вызова для опции action.

Например:

buttons: [
   {
      text: 'Export to PDF',
      className: 'export-to-pdf',
      action: function ( e, dt, button, config ) {
         var query = dt.search();
         window.open('generate_pdf.php?case_id=&keyword=' + encodeURIComponent(query), '_blank');
      }
   }
],

8
задан 4thSpace 15 March 2009 в 05:46
поделиться

4 ответа

У Вас есть он немного неправильное.

NSTimer, NSString, NSMutableArray является все Какао. int и float на самом деле C, но так как Objective C является строгим надмножеством C, Вы можете использовать их в своем коде Objective C.

Чистый Objective C требует соединения только с библиотекой времени выполнения Objective C и никакими другими платформами или библиотеками. Какао является платформой, которая включает вещи как NSObject и NSString. Другие платформы, как AppKit, расширяют платформу Какао.

Кодирование в чистом Objective C обычно означает происходить из названного корневого объекта Object и не NSObject. Вещи как @implementation, @interface, @selector и т.д. расширения Objective C C, и это то, что распространено во всем источнике Objective C, чисто или нет. Если Вы хотите кодировать в чистом Objective C, Вы ничего не можете использовать кроме своих собственных объектов, полученных из Object.

#import <objc/Object.h>
41
ответ дан 5 December 2019 в 04:33
поделиться

Как уже говорилось NS* классы является на самом деле Какао, не Objective C. Objective C является языком, в то время как Какао является платформой (реализация OpenStep). Эта платформа может считаться "stdlib" эквивалентом C++. UI* классы является Касанием Какао, другой платформой, созданной для iPhone.

Относительно последнего вопроса, да, Касание Какао для iPhone только. Какао для разработки Mac OS X. Однако как указано выше Какао является реализацией OpenStep. Альтернативы Какао существуют, такие как GNUstep и Cocotron. Эти альтернативные платформы позволяют использовать тот же код на нескольких платформах. Платформы OpenStep для этого не только для разработки Mac OS X, но и могут также быть для Linux и Windows.

Другая вещь отметить состоит в том, что другое время выполнения Objective C отличается. Нет никакой единственной спецификации Objective C. Портативный Объектный Компилятор является еще одним способом сделать это. Так как Apple является доминирующим пользователем Objective C, и она управляет Какао, она рассмотрела фактическую реализацию Objective C.

9
ответ дан 5 December 2019 в 04:33
поделиться

В отношении разработки iPhone, как делают Вас теперь, когда Ваше использование Какао по сравнению с чистым Objective C возражает.

Если Вы ничего не используете кроме Objective C в Вашем приложении, то все объекты Какао являются объектами Objective C.

Если Вы будете использовать Python или Ruby, то Ваши объекты будут объекты Ruby или Python. Но, пока они наследовались классам Какао, они будут доступны для других объектов Какао, записаны ли они в Objective C.

(Существует Базовая Основа, которая обеспечивает объекты, которые хорошо работают в Какао, но не записаны в Objective C. Это - деталь реализации; не волнуйтесь об этом.)

Например, следующее Objective C:

  • NSTimer
  • NSString
  • интервал, плавание
  • NSMutableArray

Только NSTimer, NSString и NSMutableArray являются классами Objective C. интервал и плавание являются типами примитивов, не классами. И ни один из них не происходит из Objective C: интервал и плавание прибывают из C и NS* классы, все прибывают из Какао.

Как sebnow записал, в то время как я писал это, Какао является платформой, тогда как Objective C является языком. NS* классы все прибывают из платформы Какао, не языка Objective C.

Но это Какао:

  • UILabel
  • UIColor (?)
  • UIView

Нет, это - Касание Какао. Они не доступны в приложении Какао. Аналогично, классы Набора Приложения не доступны в Касании Какао.

(Какао является Основа + AppKit; Касанием Какао является Основа + UIKit.)

И быть ясным, делает

Касание какао == разработка iPhone

Какао == разработка Mac OS X

Да. Касание какао является платформой iPhone; Какао является платформой Mac.

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

Это правда, что Cocoa Touch предназначен для разработки iPhone и «простой» Cocoa для разработки Mac OS X, но они не сильно различаются и разделяют большинство базовых классов.

При разработке для iPhone вам не нужно заботиться о том, используете ли вы чистый Objective-C или Cocoa. Какао - гражданин 1-го класса на iPhone, и вы ничего не получите, избегая этого.

Есть небольшая разница между Objective-C и простым старым подмножеством C. Выделение объектов и вызовы методов имеют более высокие накладные расходы, чем структуры, выделенные стеком и прямые вызовы функций, но в 99% случаев вам также не нужно заботиться об этом (не пытайтесь оптимизировать преждевременно!).

2
ответ дан 5 December 2019 в 04:33
поделиться