의 비교/리치 쿼리 OSX 캘린더 (이전의 "iCal")를 통해 요약본이 "Lunch"인 이벤트를 찾고 싶다면 다음과 같은 작업을 수행 할 수 있습니다. 이 : 심지어이 첫 번째 달력을 검색한다는 사실을 고려Javascript for Automation (JXA)의 "()"
var eventsContainer = Application('Calendar').calendars[0].events
for (var i = 0; i < eventsContainer.length; i++) {
var thisEvent = eventsContainer[i];
if (thisEvent.summary() == 'Lunch') { doSomething() }
}
각각의 iCal 이벤트가 실행하는 자바 스크립트 객체로 변환 할 필요가 있기 때문에, 그것은 매우, 매우, 매우 느리다. 실질적으로 더 빠른 배합이 있습니다 :
var foundEvents = Application('Calendar').calendars.events.whose({summary: 'Lunch'});
정확하게 일치하는 부분은 summary == 'Lunch'
입니다. 그러나 endDate: > new Date()
또는 summary: /lunch/i
과 같은 비교는 어떻게됩니까? which() selector에 네이티브 (ObjC) 코드를 전달할 수 있습니까? whose()
에 도움이 될만한 문서가 있습니까?
이 관련 질문 : http://stackoverflow.com/questions/27072977/using-whose-on-arrays -in-javascript-for-automation은 주로 JXA의 버그 투성이 인 초기 구현에서 작동 할 간단한 형태의'who()'를 얻는 것에 관한 것이었다. 중복 된 질문이 아닙니다. –