레이블이 Reference인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Reference인 게시물을 표시합니다. 모든 게시물 표시

2010년 5월 9일 일요일

MPMediaPropertyPredicate Class Reference

MPMediaPropertyPredicate Class Reference
상속 : MPMediaPredicate:NSObject
프로토콜 : NSCoding (MPMediaPredicate) / NSObject (NSObject)
프레임워크 : /System/Library/Frameworks/MediaPlayer.framework
사용가능 버전 : iPhone OS 3.0 이상
관련 가이드 : iPod Library Access Programming Guide
선언 : MPMediaQuery.h

개요
iPod 라이브러리에서 미디어 아이템의 서브셋을 얻는 미디어 쿼리내의 필터를 정의하는 하나 이상의 MPMediaPropertyPredicate 오브젝트 또는 미디어 프로퍼티 프리디케이트들을 사용한다.  이 컨텍스트의 프리디케이트(predicate)는 각 미디어 아이템에 대해 테스트 하기 원하는 논리 상태의 명령문이다.  이 아이템들은 쿼리 결과에서 얻어지는 상태를 만족시킨다.

당신은 MPMediaQuery 클래스 레퍼런스에서 설명된 MPMediaQuery 클래스를 사용해서 iPod 라이브러리 쿼리들을 정의하고 쿼리 결과들을 얻는다. 미디어 아이템들과 미디어 아이템 컬렉션들은 MPMediaItemCollection 클래스 레퍼런스MPMediaItem 클래스 레퍼런스에서 설명된 쿼리를 사용해서 얻는다.

태스크
미디어 프로퍼티 프리디케이트 생성
+ predicateWithValue:forProperty:
+ predicateWithValue:forProperty:comparisonType:

미디어 프로퍼티 프리디케이트 검사
property property
value property
comparisonType property

속성
comparisonType
당신이 쿼리를 호출할 때 비교할 미디어 프로퍼티 프리디케이트 수행 형태.
@property (nonatomic, readonly) MPMediaPredicateComparison comparisonType;

토론
비교 타입은 "Media Property Predicate Comparison Types." 를 보도록 하자.

iPhone OS 3.0 이상에서 사용가능하고 MPMediaQuery.h 에 선언되어 있다.

property
당신이 쿼리를 호출할 때 사용하는 미디어프로퍼티 프리디케이트 속성
@property (nonatomic, readonly, copy) NSString *property
iPhone OS 3.0 이상에서 사용가능하고 MPMediaQuery.h 에 선언되어 있다.

value
당신이 쿼리를 호출할 때 검색할 미디어 프로퍼티 프리디케이트 값.
@property (nonatomic, readonly) id value
iPhone OS 3.0 이상에서 사용가능하며 MPMediaQuery.h에 선언되어 있다.
iPhone OS 3.0 이상에서 사용가능하고 MPMediaQuery.h 에 선언되어 있다.


클래스 메서드
predicateWithValue:forProperty:
기본 비교 타입으로 미디어 프로퍼티 프리디케이트를 생성.
+ (MPMediaPropertyPredicate *)predicateWithValue:(id)value 
                                     forProperty:(NSString *)property
인자
predicateWithValue:
    iPod 라이브러리에 질의할 때 일치하길 바라는 속성 값.
    예를 들어, forProperty 인자에 MPMediaItemPropertyArtist 상수를 넣었다면,
    이 인자에서 당신은 아티스트명을 포함하는문자열을 제공하도록한다.
forProperty:
    미디어 프로퍼티 프리디케이트를 만드는데 사용할 수 있는 호출된 필터가능한 속성.
    MPMediaItem 클래스 레퍼런스의 일반적인 미디어 아이템 속성 키와
    팟캐스트 아이템 속성 키들을 참고하자.

리턴값
하나의 미디어 프로퍼티 프리디케이트

토론
이것은 편리한 메서드이다. 
이것은 기본 논리 비교 타입으로 MPMediaPredicateComparisonEqualTo를 사용한다.

iPhone OS 3.0 이상에서 사용가능하고, MPMediaQuery.h 에 선언되어 있다.
+ predicateWithValue:forProperty:comparisonType: 도 함께 보도록 하자.

predicateWithValue:forProperty:comparisonType:
특정 비교 타입으로 미디어 프로퍼티 프리디케이트를 생성한다.
+ (MPMediaPropertyPredicate *)predicateWithValue:(id)value 
                                     forProperty:(NSString *)property
                       comparisonType:(MPMediaPredicateComparison)comparisonType
인자
prediateWithValue:
    iPod 라이브러리에 질의할 때 일치하기를 바라는 속성 값.
    예를 들어, forProperty 속성에 MPMediaItemPropertyArtist 상수를 넣었다면,
    이 인자에서는 아티스트 명을 포함하는 문자열을 제공해야 한다.
forProperty:
    미디어 프로퍼티 프리디케이트를 만드는데 사용할 수 있는 호출된 필터가능한 속성.
    MPMediaItem 클래스 레퍼런스의 일반적인 미디어 아이템 속성 키와
    팟캐스트 아이템 속성 키들을 참고하자.
comparisonType:
    프리디케이트를 위한 논리적인 비교 형태.
    "미디어 프로퍼티 프리디케이트 비교 타입"을 참고하자.

리턴값
하나의 미디어 프로퍼티 프리디케이트

iPhone OS 3.0 이상에서 사용가능하며 MPMediaQuery.h 에 선언되어 있다.
+ predicateWithValue:forProperty: 도 함께 보도록 하자.

상수
미디어 프로퍼티 프리디케이트 비교 타입
미디어 쿼리들을 위한 논리적 비교 형태
다음의 상수들은 iPhone OS 3.0 이상에서 사용가능하며, MPMediaQuery.h에 선언되어 있다.
enum {
    MPMediaPredicateComparisonEqualTo,
    MPMediaPredicateComparisonContains
};
typedef NSInteger MPMediaPredicateComparison;

상수
MPMediaPredicateComparisonEqualTo
    미디어 프로퍼티 프리디케이트의 값과 미디어 아이템의 주어진 속성값이 같을 때.
MPMediaPredicateComparisonContains
    미디어 프로퍼티 프리디케이트의 값에 미디어 아이템의 주어진 속성값이 포함될 때.
원문

MPMediaQuery Class Reference

MPMediaQuery Class Reference
상속 : NSObject
프로토콜 : NSCoding / NSCopying / NSObject(NSObject)
프레임워크 : /System/Library/Frameworks/MediaPlayer.framework
사용가능한 버전 : iPhone OS 3.0 이상
관련된 가이드 : iPod Library Access Programming Guide
정의 : MPMediaQuery.h


개요
MPMediaQuery 오브젝트, 또는 미디어 쿼리는 필터나 그룹핑 타입의 방법으로 iPod 라이브러리로부터 미디어 아이템의 셋을 열거한다.  두 방법 모두 옵션이다; 무제한 쿼리는 전체 라이브러리에 매치 한다.
쿼리는 많아야 하나의 그루핑 타입을 가진다.  쿼리의 필터는 몇개의 미디어 프로퍼티 프리디케이트들로 구성될 수 있다.  당신은 MPMediaItem 클래스 레퍼런스에서 설명하는 프로퍼티 키들을 사용하여 MPMediaPropertyPredicate 클래스 레퍼런스에서 설명하는 메서드들을 사용하여 필터들을 만든다.

쿼리를 생성 및 구성한 후에, 당신은 이것을 미디어 아이템 또는 미디어 아이템 컬렉션들을 컴색하는데 사용한다.  컬렉션들은 MPMediaCollection 클래스 레퍼런스에 설명되어 있다.

이 클래스는 각 그루핑 타입에 사용하며, 대부분의 경우에 iPod 라이브러리의 서브셋에 해당하는 다수의 편리한 생성자들을 포함한다.  [표 1] 은 이 생성자들의 기능을 요약한다. 필터 열에 들어가는 자세한 설명은 MPMediaItem 클래스 레퍼런스를 보도록 하자.  그루핑 타입 열에 들어가는 설명은 "Media Item Collection Grouping Keys"를 보도록 하자.

[표 1] MPMediaQuery 클래스의 편리한 생성자들


태스크
미디어 쿼리 생성
여기에서 볼 수 있는 클래스 매서드들은 "미디어 쿼리 구성"에서 설명되는 바와 같이 직접 사용하거나 수정할 수 있는 쿼리를 생성한다.  각 클래스 메서드는, 쿼리의 groupingType 속성을 자동으로 메서드의 이름으로 설정한다.  예를 들어, albumsQuery 메서드는 MPMediaGroupingAlbum의 그루핑 타입을 할당한다.  그루핑 타입은 쿼리로부터 얻을 수 있는 미디어 아이템 컬렉션의 성질을 열거한다.  각 메서드의 토론 섹션에서 설명된 바와 같이 몇몇의 클래스 메서드들은 모든 iPod 라이브러리와 같으며, 다른 것들은 서브셋과 같다.

+ albumsQuery
+ artistsQuery
+ songsQuery
+ playlistsQuery
+ podcastsQuery
+ audiobooksQuery
+ compilationsQuery
+ composersQuery
+ genresQuery
- init
- initWithFilterPredicates:

미디어 쿼리 구성
  filterPredicates property
  groupingType property
- addFilterPredicate:
- removeFilterPredicate:


미디어 쿼리 수행
당신은 아이팟 라이브러리로부터 미디어 아이템들이나 미디어 아이템 컬렉션들을 items나 collections 접근 메서드들을 호출함으로써 특정 배열을 얻는다.
items property
collections property


속성
Objective-C 속성에 대한 자세한 내용은 The Objective-C Programming Language 의 "Properties"를 보도록 하자.

collections
미디어 아이템 컬렉션들의 배열은 쿼리의 미디어 프로퍼티 프리디케이트와 매치하는 아이템들을 담고 있다.
@property (nonatomic, readonly) NSArray *collections;

토론
리턴되는 컬렉션의 배열은 미디어 쿼리의 groupingType에 의해 그룹화되고 정렬된다.  다음의 코드 스니펫은 이 속성을 어떻게 사용하는지를 나타낸다:

//미디어 쿼리 열거; 이것은 iPod 라이브러리와 매치한다. 
//왜냐하면 이것은 미디어 프로퍼티 프리디케이트를 포함하고 있지 않기 때문이다.
MPMediaQuery *everything = [[MPMediaQuery alloc] init];

//미디어 아이템을 이용해서 그룹짓는 미디어 쿼리를 구성;
//여기에서는 아티스트로 그룹화 한다.
[everything setGroupingType:MPMediaGroupingArtist];

//쿼리로 부터 미디어 아이템 컬렉션들을 얻는다
NSArray *collections = [everything collections];

각 collections 배열의 요소는 이제 미디어 아이템 컬렉션을 포함하고 있다. 각 컬렉션은 개별 아티스트로 나눠진 아이팟 라이브러리의 미디어 아이템들을 포함한다.  이 배열의요소들은 아티스트 이름으로 정렬되어 있다.

그룹핑 타입으로 가능한 것들은 "Media Item Collection Grouping Keys"를 참조하도록 하자.
이것은 iPhone OS 3.0 이상에서 사용가능하며 MPMediaQuery.h 에 선언되어 있다.


filterPredicates
미디어 쿼리의 미디어 프로퍼티 프리디케이트.
@property (nonatomic, retain) NSSet *filterPredicates;

토론
MPMediaItem Class일반적인 미디어 아이템 속성 키들팟캐스트 아이템 프로퍼티 키들의 목록에 프리디케이트를 구성하는데 사용할 수 있는 키들이 포함되어 있다.

iPhone OS 3.0 이상에서 사용가능하며 MPMediaQuery.h에 선언되어 있다.


groupingType
미디어 쿼리에서 얻어지는 콜렉션들을 위한 그룹핑
@property (nonatomic) MPMediaGrouping groupingType;

토론
기본 그룹핑 타입은 MPMediaGroupingTitle 이다. 사용가능한 그룹핑 타입의 목록은 "Media Item Collection Grouping Keys"를 보도록 하자.

iPhone OS 3.0 이상에서 사용가능하며 MPMediaQuery.h에 선언되어 있다.


items
미디어 쿼리의 프리디케이트에 대입되는 미디어 아이템들의 배열
@property (nonatomic, readonly) NSArray *items;

토론
프리디케이트에 매치되는 아이템이 없다면, 이 메서드는 빈 배열을 리턴한다. 에러가 날 때는 nil을 리턴한다.

iPhone OS 3.0 이상에서 사용가능하며  MPMediaQuery.h에 선언되어 있다.



클래스 메서드
albumsQuery
뮤직 아이템들과 매치하고, 컬렉션을 앨범이름으로 그룹 및 정렬하는 미디어 쿼리를 생성.
+ (MPMediaQuery *)albumQuery

리턴값
MPMediaTypeMusic 타입의 미디어 아이템들과 매치하며 MPMediaGroupingAlbum의 그룹핑 타입을 가지는 미디어 쿼리.

토론
하나의 미디어 아이템은 하나이상의 미디어 타입을 가질 수 있다. 예를 들어, 하나의 아이템은 "music"과 "podcast"형태가 될 수 있다. 하나의 albumsQuery 쿼리는 그들이 또한 다른 미디어 타입이든 아니든 간에, 모든 MPMediaTypeMusic 아이템들과 매치한다.

iPhone OS 3.0 이상에서 사용가능하며 MPMediaQuery.h에 선언되어 있다.

artistsQuery
아티스트 이름으로 그룹화 되고 정렬된 뮤직 아이템들을 얻는 미디어 쿼리를 생성한다.
+ (MPMediaQuery *)artiestsQuery

리턴값
MPMediaGroupingArtiest 의 그룹핑 타입을 가지는 MPMediaTypeMusic 타입의 미디어 아이템을 얻는 미디어 쿼리.

토론
하나의 미디어 아이템은 하나이상의 미디어 타입을 가질 수 있다. 예를 들어, 하나의 아이템은 "music"과 "podcast"형태가 될 수 있다. 하나의 artistsQuery 쿼리는 그들이 또한 다른 미디어 타입이든 아니든 간에, 모든 MPMediaTypeMusic 아이템들과 매치한다.

iPhone OS 3.0 이상에서 사용가능하며 MPMediaQuery.h에 선언되어 있다.


audiobooksQuery
오디오 북 이름에 의해 오디오 북 아이템들을 얻고, 콜렉션들을 그룹 및 정렬하는 미디어 쿼리를 생성.
+ (MPMediaQuery *)audiobooksQuery

리턴값
MPMediaTypeAudioBook 형태의 미디어 아이템을 얻는 미디어 쿼리. 그리고 이것은 MPMediaGroupingTitle을 기본 그룹 형태로 사용한다.

토론
하나의 미디어 아이템은 하나이상의 미디어 타입을 가질 수 있다. 예를 들어, 하나의 아이템은 "music"과 "podcast"형태가 될 수 있다. 하나의 audiobooksQuery 쿼리는 이것이 또 다른 미디어 타입이든 아니든 간에 모든 MPMediaTypeAudioBook 아이템들과 매치한다.

iPhone OS 3.0 이상에서 사용가능하며 MPMediaQuery.h에 선언되어 있다.


compilationsQuery
앨범 이름으로 그룹 및 정렬한 컬렉션들과 컴필레이션 아이템들을 얻는 미디어 쿼리를 생성
+ (MPMediaQuery *)compilationsQuery

리턴값
MPMediaItemPropertyIsCompilation 속성을 가지는 미디어 아이템을 얻는 미디어 쿼리. 리턴되는 쿼리는 MPMediaGroupingAlbum의 그룹핑 형태를 가진다.

토론
하나의 미디어 아이템은 하나이상의 미디어 타입을 가질 수 있다. 예를 들어, 하나의 아이템이 "music"과 "podcast"타입이 될 수 있다. compilationsQuery 쿼리는 그들의 미디어 타입에 상관없이, MPMediaItemPropertyIscompilation 속성을 가지는 모든 미디어 아이템들을 검색한다.

iPhone OS 3.0 이상에서 사용가능하고 MPMediaQuery.h 에 선언되어 있다.


composersQuery
작곡가 이름에 의해 그룹 및 정렬되는 컬렉션들과 모든 미디어 아이템들을 검색하는 미디어 쿼리를 생성.
+ (MPMediaQuery *)composersQuery

리턴값
MPMediaGroupingComposer의 그룹핑 타입을 가지는 모든 미디어 아이템들을 검색하는 미디어 쿼리.

iPhone OS 3.0 이상에서 사용가능하며 MPMediaQuery.h 에 선언되어 있다.


genresQuery
장르명에 의해 그룹 및 정렬되는 컬렉션들의 모든 미디어 아이템들을 검색하는 미디어 쿼리를 생성
+ (MPMediaQuery *)genresQuery

리턴값
MPMediaGroupingGenre의 그룹핑 타입을 가지는 모든 미디어 아이템들을 검색하는 미디어 쿼리.

iPhone OS 3.0 이상에서 사용가능하며  MPMediaQuery.h에 선언되어 있다.


playlistsQuery
재생목록 이름에 의해 컬렉션을 그룹및 정렬하는 모든 iPod 라이브러리를 검색하는 미디어 쿼리를 생성
+ (MPMediaQuery *)playlistsQuery

리턴값
MPMediaGroupingPlaylist의 그룹핑 타입을 가지는 모든 미디어 아이템들을 검색하는 미디어 쿼리.

iPhone OS 3.0 이상에서 사용가능하며 MPMediaQuery.h에 선언되어 있다.


podcastsQuery
팟캐스트 이름으로 컬렉션을 그룹 및 정렬하는 팟캐스트 아이템들을 정렬하는 미디어 쿼리를 생성
+ (MPMediaQuery *)podcastsQuery

리턴값
MPMediaGroupingPodcastTitle의 그룹핑 타입을 가지는 MPMediaTypePodCast 타입의 미디어 아이템을 검색하는 미디어 쿼리.

토론
하나의 미디어 아이템은 하나이상의 미디어 타입을 가질 수 있다. 예를 들어, 하나의아이템은 "music"과 "podcast"형태가 될 수 있다. 하나의 podcastsQuery 쿼리는 이것이 다른 미디어 타입이던 아니던 간에 모든 MPMediaTypePodcast를 검색한다.

iPhone OS 3.0 이상에서 사용가능하며 MPMediaQuery.h에 선언되어 있다.


songsQuery
노래 제목에 의해 컬렉션들을 그룹 및 정력하는 뮤직 아이템들을 검색하는 미디어 쿼리를 생성
+ (MPMediaQuery *)songsQuery

리턴값
MPMediaGroupingTitle 의 그룹핑 타입을 가지는  MPMediaTypeMusic 형태의 미디어 아이템을 검색하는 미디어 쿼리

토론
하나의 미디어 아이템은 하나이상의 미디어 타입을 가질 수 있다. 예를 달어 하나의 아이템은 "music"과 "podcast" 형태가 될 수 있다.  songsQuery쿼리는 검색하고자 하는것들이 다른 미디어 타입이든 아니든 상관없이 모든 MPMediaTypeMusic 아이템들을 검색한다.

iPhone OS 3.0 이상에서 사용가능하며 MPMediaQuery.h 에 선언되어 있다.


인스턴스 메서드
addFilterPredicate:
쿼리에 미디어 프로퍼티 프리디케이트 추가
-(void)addFilterPredicate:(MPMediaPredicate *)predicate
인자
predicate
    쿼리의 프리디케이트 셋에 추가할 미디어 프리디케이트

iPhone OS 3.0 이상에서 사용가능하고 MPMediaQuery.h 에 선언되어 있다. 


init
일반적인 미디어 쿼리 초기화
-(id)init
토론
일반적인 미디어 쿼리는 필터 프리디케이트들과 그룹핑 구성이 없다.  이것은 iPod 라이브러리의 모든것을 검색하며 그룹핑이나 정렬은 제공하지 않는다.

iPhone OS 3.0 이상에서 사용가능하며  MPMediaQuery.h 에 선언되어 있다.


initWithFilterPredicates:
미디어 프로퍼티 프리디케이트들의 셋으로 미디어 쿼리 초기화
- (id)initWithFilterPredicates:(NSSet *)filterPredicates

인자
filterPredicates
    iPod 라이브러리에서 필터로 사용할 미디어 프로퍼티 프리디케이트들의 셋

리턴값
초기화된 미디어 쿼리

토론
MPMediaPropertyPredicate 클래스 레퍼런스는 미디어 프로퍼티 프리디케이트들을 생성하는 방법을 설명한다.  MPMediaItem 클래스 레퍼런스의 일반적인 미디어 아이템 프로퍼티 키들과 팟캐스트 아이템 프로퍼티 키들의 목록은 프리디케이트들을 구성하는데 사용할 수 있는 키들을 포함하고 있다.

iPhone OS 3.0 이상에서 사용가능하며 MPMediaQuery.h에 선언되어 있다.


removeFilterPredicate:
쿼리에서 필터 프리디케이트를 삭제한다.
- (void)removeFilterPredicate:(MPMediaPredicate *)predicate
인자
predicate
    쿼리의 프리디케이트 셋에서 지울 미디어 프리디케이트.

iPhone OS 3.0 이상에서 사용가능하며 MPMediaQuery.h에 선언되어 있다.

상수
키들을 그룹핑하는 미디어 아이템 컬렉션
하나의 미디어 쿼리를 구성하는 groupingType 속성으로 사용되는 키들.
다음의 상수들은 모두 iPhone OS 3.0 이상에서 사용가능하며, MPMediaQuery.h에 선언되어 있다.
enum {
    MPMediaGroupingTitle,
    MPMediaGroupingAlbum,
    MPMediaGroupingArtist,
    MPMediaGroupingAlbumArtist,
    MPMediaGroupingComposer,
    MPMediaGroupingGenre,
    MPMediaGroupingPlaylist,
    MPMediaGroupingPodcastTitle,
    MPMediaGroupingSeriesName
};
typedef NSInteger MPMediaGrouping;

상수
MPMediaGroupingTitle
    제목으로 미디어 아이템 컬렉션들을 그룹 및 정렬한다. 
    노래를 예를 들면  title 은 노래 제목이다. 
    이것은 키를 그룹화하는 기본값이다.
MPMediaGroupingAlbum
    앨범으로 미디어 아이템 컬렉션들을 그룹 및 정렬하고,
    앨범 안에서는 트랙 순서로 노래들을 정렬한다.
MPMediaGroupingArtist
    연주자(가수이름)로 미디어 아이템 컬렉션들을 그룹 및 정렬한다.
MPMediaGroupingAlbumArtiest
    앨범 전체에서 앨범의 대표 연주자로 미디어 아이템 컬렉션들을 그룹 및 정렬한다.
MPMediaGroupingComposer
    작곡가로 미디어 아이템 컬렉션들을 그룹 및 정렬한다.
MPMediaGroupingGenre
    음악이나 영화 장르를 통해서 미디어 아이템 컬렉션들을 그룹 및 정렬 한다.
MPMediaGroupingPlaylist
    재생목록으로 미디어 아이템 컬렉션들을 그룹 및 정렬한다.
MPMediaGroupingPodcastTitle
    팟캐스트 제목으로 미디어 아이템 컬렉션들을 그룹 및 정렬한다.
MPMediaGroupingSeriesName
    시리즈로 미디어 아이템 컬렉션들을 그룹 및 정렬한다.

토론
다음의 코드 스니펫은 키를 그룹핑하는 방법에 대해 보여준다:
MPMediaQuery *everything = [[MPMediaQuery alloc] init];
[everything setGroupingType:MPMediaGroupingAlbum];
NSArray *collections = [everything collections];

이 코드 라인들을 실행한 후에, collections 배열은 앨범 이름에 따라 그룹 및 정렬된 미디어 아이템들을 포함하고 있다.
정렬된 노래 목록을 얻으려면, MPMediaGroupingTitle 키로 미디어 쿼리를 구성하거나 미디어 쿼리를 위해 기본으로 되어 있는 타이틀 키의 이점을 활용한다.  이 두 가지 모두, 자신의 컬렉션을 효과적으로 얻는다.
컬렉션들은 데스크탑의 iTunes 에서 사용하는 것과 같은 방법으로 정렬한다.  이것은 사용자가 선택한 기본 시스템 언어를 포함한다.  기사를 읽을 때, 영어를 사용할 때는  "A," "An," 그리고 "The"가, 프랑스어를 사용할 때는 "L'," "La," "Le"가 정렬되는 동안은 무시된다.  만약에 정확한 정렬이 필요하다면 이것을 당신의 어플리케이션에 구현하라.


원문

MPMediaItem Class Reference

MPMediaItem Class Reference
상속 : NSObject
프로토콜 : NSCoding, NSObject(NSObject)
프레임워크 : /System/Library/Frameworks/MediaPlayer.framework
이용가능 버전 : iPhone OS 3.0 이상
관련 가이드 : iPod Library Access Programming Guide
선언 : MPMediaItem.h
관련 샘플 코드 : AddMusic

개요
MPMediaItem 오브젝트, 또는 미디어 아이템은 iPod 라이브러리에서 미디어의 한조각을 표현한다.  하나의 미디어 아이템은 하나의 유일한 식별자를 가지는데, 이것은 MPMediaItemPropertyPersistentID 속성 키를 사용하여 접근된다.  이 식별자는 어플리케이션 런치들을 유지한다.

하나의 미디어 아이템은 이것과 관련된 넓은 범위의 메타 데이터를 가질 수 있다.  당신은 이 문서에서 설명되는 속성 키들과 같이 valueForProperty: 메서드를 사용하여 이 메타데이터에 접근한다.

당신은 iPod 라이브러리를 검색하기 위한 미디어 쿼리들을 만드는데에 미디어 아이템의 속성들을 사용한다. 이 속성들은 "Media Item Type Flages," "General Media Item Property Keys" 그리고 "Podcast Item Property Keys."에 설명되어 있고, 미디어 쿼리들은 MPMediaQuery 클래스 레퍼런스에 설명되어 있다.

태스크
미디어 아이템 속성들 사용하기
+ canFilterByProperty:
- valueForProperty:

클래스 메서드
canFilterByProperty:
미디어 아이템 속성 키가 미디어 속성을 결정짓도록 구성하는데 사용될수 있는지를 나타냄

+ (BOOL)canFilterByProperty:(NSString *)property

인자
property
    검사하길 원하는 속성을 위한 키

리턴 값
속성키로 YES를 리턴하는 것은 MPMediaPropertyPredicate 오브젝트들을 구성하는데 사용될 수 있다는 것이다.

[iPhone OS 3.0 이상에서 사용가능하며, MPMediaItem.h 에 정의되어 있음.]


인스턴스 메서드
valueForProperty:
특정 미디어 아이템 프로퍼티 키의 값

- (id)valueForProperty:(NSString *)property

인자
property
    값을 얻기를 원하는 속성

리턴 값
미디어 아이템 프로퍼티 키를 위한 값을 리턴

토론
이 프로퍼티와 같이 사용할 수 있는 메타데이터 키들의 목록은 "일반적인 미디어 아이템 프로퍼티 키, " "팟캐스트 아이템 프로퍼티 키, " 그리고 "사용자 정의 프로퍼티 키." 에 있다.

[iPhone OS 3.0 이상에서 사용가능하며, MPMediaItem.h 에 정의되어 있음. 관련 샘플 코드는 AddMusic]


상수

미디어 아이템 타입 플래그들
MPMediaItemPropertyMediaType 속성을 위한 값으로 사용할 수 있는 미디어 아이템 타입들.  하나의 미디어 아이템은 하나 이상의 미디어 아이템 타입을 가질 수 있다.
enum {
    // audio media types
    MPMediaTypeMusic       = 1 << 0,
    MPMediaTypePodcast     = 1 << 1,
    MPMediaTypeAudioBook   = 1 << 2,
    MPMediaTypeAnyAudia    = 0x00ff,

    // generic media type
    MPMediaTypeAny         = ~0
};
typedef NSInteger MPMediaType;

상수
MPMediaTypeMusic
음악을 포함하는 미디어 아이템으로 설정된 경우.
iPhone OS 3.0 이상에서 사용가능하며 MPMediaItem.h에 정의 되어 있다.

MPMediaTypePodcase
하나의 podcast를 포함하는 미디어 아이템을 설정한 경우.
iPhone OS 3.0 이상에서 사용가능하며 MPMediaItem.h에 정의되어 있다.

MPMediaTypeAudioBook
오디오북을 포함하는 미디어 아이템을 설정한 경우.
iPhone OS 3.0 이상에서 사용가능하며 MPMediaItem.h에 정의되어 있다.

MPMediaTypeAnyAudio
불특정 형태의 오디오 컨텐츠를 포함하는 미디어 아이템을 설정한 경우.
iPhone OS 3.0 이상에서 사용가능하며 MPMediaItem.h에 정의되어 있다.

MPMediaTypeAny
불특정 형태의 오디오를 포함하는 미디어 아이템을 설정한 경우.
iPhone OS 3.0 이상에서 사용가능하며 MPMediaItem.h에 정의되어 있다.


일반적인 미디어 아이템 프로퍼티 키들
당신은 이 프로퍼티 키들을 사용해서 valueForProperty 메소드를 호출하여 미디어 아이템을 위한 메타데이터를 얻는다.  몇몇의 프로퍼티들은 MPMediaPropertyPredicate 클래스 레퍼런스에서 설명되는 바와 같이, 미디어 프로퍼티 프리디케이트들을 만드는데에도 사용 될 수 있다.  표시된 속성들은 필터 가능하다.

NSString *const MPMediaItemPropertyPersistentID;      //filterable(필터 가능)
NSString *const MPMediaItemPropertyMediaType;         //filterable
NSString *const MPMediaItemPropertyTitle;             //filterable
NSString *const MPMediaItemPropertyAlbumTitle;        //filterable
NSString *const MPMediaItemPropertyArtist;            //filterable
NSString *const MPMediaItemPropertyAlbumArtist;       //filterable
NSString *const MPMediaItemPropertyGenre;             //filterable
NSString *const MPMediaItemPropertyComposer;          //filterable
NSString *const MPMediaItemPropertyPlaybackDuration;
NSString *const MPMediaItemPropertyAlbumTrackNumber;
NSString *const MPMediaItemPropertyAlbumTrackCount;
NSString *const MPMediaItemPropertyDiscNumber;
NSString *const MPMediaItemPropertyDiscCount;
NSString *const MPMediaItemPropertyArtwork;
NSString *const MPMediaItemPropertyLyrics;
NSString *const MPMediaItemPropertyIsCompilation;    //filterable

상수
MPMediaItemPropertyPersistentID
미디어 아이템을 위한 지속성 있는 식별자.  uint64_t(unsigned long long)을 담고 있는 NSNumber 값이다.  MPMediaItemPropertyPersistentID 식별자의 값은 어플리케이션의 실행과 미디어 아이템의 변하지 않는 싱크 상태를 유지한다.  이 값은 sync/unsync/sync 사이클을 유지할때 이점이 없다.
MPMediaPropertyPredicate 클래스 레퍼런스에서 설명되는 바와 같이 미디어 프로퍼티 프리디케이트를 만드는데 사용될 수 있다.
iPhone OS 3.0이상에서 사용가능하며 MPMediaItem.h에 정의되어 있다.

MPMediaItemPropertyMediaType
미디어 아이템의 미디어 타입. NSInteger 데이터형을 나타내는 NSNumber 오브젝트 값이다.  NSInteger 값은 "미디어 아이템 타입 플래그들" 에서 비트 필드 플래그나 플래그 셋을 나타낸다.
MPMediaPropertyPredicate 클래스 레퍼런스에서 설명되는 바와 같이 미디어 프로퍼티 프리디케이트를 만드는데 사용될 수 있다.
iPhone OS 3.0이상에서 사용가능하며 MPMediaItem.h에 정의되어 있다.

MPMediaItemPropertyTitle
미디어 아이템의 제목(또는 이름). 이 속성은 MPMediaItemPropertyAlbumTitle 속성과 관계 없다.  NSString 오브젝트 값이다.
MPMediaPropertyPredicate 클래스 레퍼런스에서 설명되는 바와 같이 미디어 프로퍼티 프리디케이트를 만드는데 사용될 수 있다.
iPhone OS 3.0이상에서 사용가능하며 MPMediaItem.h에 정의되어 있다.


MPMediaItemPropertyAlbumTitle
"Live On Mars"와 같은 앨범의 제목.
앨범에서 각각의 곡의 제목에 나란히 들어갈, (MPMediaItemPropertyTitle 속성을 사용하여 열거하는) "Crater Dance (radio edit)"와 같은 것.  NSString 오브젝트 값이다.
MPMediaPropertyPredicate 클래스 레퍼런스에서 설명되는 바와 같이 미디어 프로퍼티 프리디케이트를 만드는데 사용될 수 있다.
iPhone OS 3.0이상에서 사용가능하며 MPMediaItem.h에 정의되어 있다.

MPMediaItemPropertyArtist
미디어 아이템의 아티스트. NSString 오브젝트 값이다.
MPMediaPropertyPredicate 클래스 레퍼런스에서 설명되는 바와 같이 미디어 프로퍼티 프리디케이트를 만드는데 사용될 수 있다.
iPhone OS 3.0이상에서 사용가능하며 MPMediaItem.h에 정의되어 있다.

MPMediaItemPropertyAlbumArtist
앨범 전체에 걸친 아티스트. NSString 오브젝트 값이다.
MPMediaPropertyPredicate 클래스 레퍼런스에서 설명되는 바와 같이 미디어 프로퍼티 프리디케이트를 만드는데 사용될 수 있다.
iPhone OS 3.0이상에서 사용가능하며 MPMediaItem.h에 정의되어 있다.

MPMediaItemPropertyGenre
미디어 아이템의 장르. NSString 오브젝트 값이다.
MPMediaPropertyPredicate 클래스 레퍼런스에서 설명되는 바와 같이 미디어 프로퍼티 프리디케이트를 만드는데 사용될 수 있다.
iPhone OS 3.0이상에서 사용가능하며 MPMediaItem.h에 정의되어 있다.

MPMediaItemPropertyComposer
미디어 아이템 작곡가. NSString 오브젝트 값이다.
MPMediaPropertyPredicate 클래스 레퍼런스에서 설명되는 바와 같이 미디어 프로퍼티 프리디케이트를 만드는데 사용될 수 있다.
iPhone OS 3.0이상에서 사용가능하며 MPMediaItem.h에 정의되어 있다.

MPMediaItemPropertyPlaybackDuration
미디어 아이템의 재생시간. NSTimeInterval의 초로 표현되는 NSNumber 오브젝트 값.
iPhone OS 3.0이상에서 사용가능하며 MPMediaItem.h에 정의되어 있다.

MPMediaItemPropertyAlbumTrackNumber
미디어 아이템이 앨범에서 몇번째에 해당하는지를 나타내는 트랙넘버.  NSUInteger 데이터 형을 나타내는 NSNumber 오브젝트 값.
iPhone OS 3.0이상에서 사용가능하며 MPMediaItem.h에 정의되어 있다.

MPMediaItemPropertyAlbumTrackCount
앨범이 포함하고 있는 미디어 아이템의 수. NSUInteger 데이터형을 나타내는 NSNumber 오브젝트 값.
iPhone OS 3.0이상에서 사용가능하며 MPMediaItem.h에 정의되어 있다.

MPMediaItemPropertyDiscNumber
여러개의 디스크를 가지는 앨범에서 이 미디어 아이템의 디스크 넘버. NSUInteger 데이터 형을 나타내는 NSNumber 오브젝트 값.
iPhone OS 3.0이상에서 사용가능하며 MPMediaItem.h에 정의되어 있다.

MPMediaItemPropertyDiscCount
이 미디어 아이템을 가지고 있는 앨범의 디스크 수. NSUInteger 데이터 형을 나타내는 NSNumber 오브젝트 값.
iPhone OS 3.0이상에서 사용가능하며 MPMediaItem.h에 정의되어 있다.

MPMediaItemPropertyArtwork
미디어 아이템의 아트웍 이미지.  미디어 아이템 이미지 값은, MPMediaItemArtwork 클래스 레퍼런스 에 설명되어 있다.
iPhone OS 3.0이상에서 사용가능하며 MPMediaItem.h에 정의되어 있다.

MPMediaItemPropertyLyrics
미디어 아이템의 가사. NSString 오브젝트 값이다.
iPhone OS 3.0이상에서 사용가능하며 MPMediaItem.h에 정의되어 있다.

MPMediaItemPropertyIsCompilation
이 미디어 아이템이 편집의 일부인지(YES) 아닌지(NO)를 나타내는 Boolean 값.  BOOL 데이터 타입을 나타내는 NSNumber 오브젝트 값.
iPhone OS 3.0이상에서 사용가능하며 MPMediaItem.h에 정의되어 있다.


팟캐스트 아이템 프로퍼티 키들
당신은 이 속성 키들을 사용해서  valueForProperty: 메서드를 호출하여 팟캐스트 미디어 아이템을 위한 메타데이터를 얻는다.  필터 가능한 속성들은 미디어 프로퍼티 프리디케이트들을 만드는데 사용될 수 있다.
NSString *const MPMediaItemPropertyPodcastTitle;   //filterable

상수
MPMediaItemPropertyPodcastTitle
팟캐스트의 개별 에피소드의 제목과 함께 나올 팟캐스트의 제목.
NSString 오브젝트 값이다.
MPMediaPropertyPredicate 클래스 레퍼런스에서 설명되는 바와 같이 미디어 프로퍼티 프리디케이트를 만드는데 사용될 수 있다. iPhone OS 3.0이상에서 사용가능하며 MPMediaItem.h에 정의되어 있다.

사용자 정의 프로퍼티 키들
당신은 이 프로퍼티 키들을 사용해서 valueForProperty: 메서드를 호출하여 미디어 아이템을 위한 사용자 정의 메타데이터를 얻는다.  사용자 정의 속성들은 미디어 프로퍼티 프리디케이트들을 만드는데 사용될 수 없다.

NSString *const MPMediaItemPropertyPlayCount;
NSString *const MPMediaItemPropertySkipCount;
NSString *const MPMediaItemPropertyRating;
NSString *const MPMediaItemPropertyLastPlayedDate;

상수
MPMediaItemPropertyPlayCount
사용자가 미디어 아이템을 재생한 횟수. NSUInteger 데이터형을 나타내는 NSNumber 오브젝트 값.  iPhone OS 3.0 이상에서 사용가능하고, MPMediaItem.h에 정의되어 있다.

MPMediaItemPropertySkipCount
사용자가 아이템 재생을 스킵한 횟수. NSUInteger 데이터형을 나타내는 NSNumber 오브젝트 값. iPhone OS 3.0 이상에서 사용가능하고, MPMediaItem.h에 정의되어 있다.

MPMediaItemPropertyRating
사용자가 미디어 아이템에 준 등급. 0~5의 범위를 가지며 NSUInteger 데이터형을 나타내는 NSNumber 오브젝트 값이다.  iPhone OS 3.0 이상에서 사용가능하며 MPMediaItem.h에 정의되어 있다.

MPMediaItemPropertyLastPlayedDate
미디어 아이템을 플레이 했던 가장 최근 날짜. NSDate 오브젝트 값이다.
iPhone OS 3.0 이상에서 사용가능하고 MPMediaItem.h에 정의되어 있다.

원문

2010년 4월 13일 화요일

glVertexPointer

기능
OpenGL 버텍스 배열 기능에 사용되는 버텍스 데이터 좌표 배열을 지정한다.

첨가 파일


 형식
void glVertexPointer(GLint 크기, GLenum 타입, GLsizei 간격, const GLvoid *포인터);

설명
OpenGL 에서 버텍스 배열 기능을 사용할 때 필요한 데이터의 위치, 구성, 타입을 지정하는함수.
이 함수에 의해 지정되는 버퍼에는 동적인 데이터가 포함될 수 있으나 반드시 유효한 데이터여야만 한다. OpenGL 이 버텍스 배열을 계산할 떄마다 여기서 지정된 데이터가 여기서 지정된 버텍스 배열 버퍼로부터 다시 읽혀진다.

2010년 2월 25일 목요일

UIApplication Class Reference

UIApplication Class Reference

[P] Parameters 에 대한 설명 입니다.
[R] Return Value 대한 설명 입니다.

Getting the Application Instance
+ sharedApplication
싱글톤 애플리케이션 인스턴스를 리턴.
UIApplicationMain 함수에서 생성된 어플리케이션 인스턴스를 리턴한다.


Getting Application Windows
  •   keyWindow  property
  • @property(nonatomic, readonly) UIWindow *keyWindow
  • 어플리케이션의 키 윈도우(읽기 전용)
  • 이 속성은 windows 배열에서 가장 최근에 makeKeyAndVisible 메시지를 보낸 UIWindow오브젝트를 담고 있다.
  •   windows  property
  • @property(nonatomic, readonly) NSArray *windows
  • 애플리케이션에 보이는 윈도우(읽기 전용)
  • 이 속성은 애플리케이션에 보이는 윈도우 들을 담고있는 배열이다.
  • 이 윈도우들은 뒤에서 앞 순서로 되어 있다.


Controlling and Handling Events
  • – sendEvent:
  • - (void)sendEvent:(UIEvent *)event
  • 애플리케이션에서 응답 오브젝트로 사용할 이벤트를 디스패치한다.
  • [P] event : 터치이벤트를 포함해서, 이벤트에 대한 정보를 캡슐화하는 UIEvent 오브젝트.
  • 서브클래스들은 검사및 특정 디스패칭하는 이벤트가 들어올때 가로채기 위해서 이 메서드를 오버라이드 해야 합니다.
  • iPhone OS는 퍼블릭 이벤트일때만 이 메서드를 호출합니다.
  • – sendAction:to:from:forEvent:
  • - (BOOL)sendAction:(SEL)action to:(id)target from:(id)sender forEvent:(UIEvent *)event
  • 특정 타겟에 셀렉터로 식별하는 액션 메시지를 보낸다
  • 원래 이 메서드는 사용자가 터치한 UIControl오브젝트에 의해 호출된다.
    기본 구현은 타겟 오브젝트에 주어지는 액션메서드를 디스패치 하는 것입니다. 타겟이 없을 경우에는 first responder를 타겟으로 한다.
    서브클래스들은 액션메시지의 특별한 디스패칭 동작을 수행하기 위해서 이 메서드를 오버라이드 해야 한다.
    기본적으로, 타겟이 호출할 때 이 메서드에 두개의 파라미터들을 주게 된다. 마지막 두개의 파라미터들은 리시버를 위한 옵션 이다.
    이 파라미터들을 지우는 것은 호출하는 쪽에 (보통 UIControl 오브젝트) 달려있기 때문이다.
    이것은 다음에 나오는 것들 중 하나의 액션 셀렉터로 구성 할 수 있다:
    -(void)action:
    -(void)action:(id)sender
    -(void)action:(id)sender forEvent:(UIEvent *)event
  • [P]
    • action : 액션메서드를 식별하는 셀렉터.
    • target : 액션 메시지를 받는 오브젝트. target이 nil일 경우, 애플리케이션은 리스폰더 체인이 처리될때까지 처리가 진행되는 곳에서 first responder에 메시지를 보낸다.
    • sender : 액션 메시지를 보내는 오브젝트. 기본 sender는 이 메서드를 호출하는 UIControl오브젝트 이다.
    • event : 액션 메시지가 시작되는 이벤트에 관한 정보를 캡슐화하는 UIEvent 오브젝트.
  • [R]
  • YES : 리스폰더 오브젝트가 액션메시지를 처리함
  • NO : 메시지를 처리하는 리스폰더 체인 오브젝트가 없을 경우
  • – beginIgnoringInteractionEvents
  • - (void)beginIgnoringInteractionEvents
  • 터치와 관련된 이벤트들의 처리를 서스펜드하도록 리시버에게 알린다.
  • 특히 애니메이션이나 트랜지션이 시작되기 전에 이 메소드를 호출한다.
  • 호출은 endIgnoringInteractionEvents 메서드와 내포된다.
  • – endIgnoringInteractionEvents
  • - (void)endIgnoringInteractionEvents
  • 터치와 관련된 이벤트들의 처리를 resume하도록 리시버에게 알린다.
  • 특히, beginIgnoringInteractionEvents메서드를 호출한 후, 애니메이션이나 트랜지션이 완료되었을 때 이 메서드를 호출한다.
  • 이 메서드의 내포된 호출은 beginIgnoringInteractionEvents 메서드의 내포된 호출과 매치되어야 한다.
  • – isIgnoringInteractionEvents
  • - (BOOL)isIgnoringInteractionEvents
  • 리시버가 스크린을 터치함에 따라 초기화된 이벤트들을 무시하는지 여부를 리턴한다.
  • [R] YES : 리시버가 인터렉션 이벤트들을 무시함. 그 밖에는 NO.
  •     레벨깊이가 최소한 하나인 중첩된 beginIgnoringInteractionEvents와 endIgnoringInteractinoEvents의 호출은 YES를 리턴한다.
  •   applicationSupportsShakeToEdit  property
  • @property(nonatomic) BOOL applicationSupportsShakeToEdit
  • 디바이스 디스플레이를 흔들어서 undo-redo 사용자 인터페이스를 나타내는 지 여부를 결정하는 Boolean
  • 디폴트 값은 YES임. 이 속성을 NO로 설정하면 애플리케이션에서 디바이스를 흔들어도 Undo / Redo 버튼이 나타나지 않는다.
  •   proximitySensingEnabled  property
  • @property(nonatomic, getter=isProximitySensingEnabled) BOOL proximitySensingEnabled
  • 접근센서가 사용가능한지를 결정하는 Boolean
  • (권장되지 않음. 속성은 UIDevice 클래스의 proximityMonitoringEnagled proximityState 대체해서 사용한다.)
  • 접근센서가 사용가능하면 YES, 불가능하면 NO. 
  • 사용가능한 접근 센서는 사용자의 얼굴이 가까워지면 iPhone OS가 스크린을 비우도록 한다.
  • 접근센서는 기본적으로 사용할 수 없게 되어 있다.
Opening a URL Resource
  • – openURL:
  • - (BOOL)openURL:(NSURL *)url
  • 특정 URL에서 리소스를 열도록 한다.
  • URL은 같거나 다른 애플리케이션에 리소스를 위치시킬 수 있다.
  • 만약 다른 애플리케이션의 리소스인 경우, 다른 애플리케이션도 런치되어야 하므로, 이 메소드를 호출하면 애플리케이션이 종료될 것이다.
  • 리소스를 제어하는 애플리케이션이 있는지 확인하기 위해 openURL: 메서드를 호출하기 전에 canOpenURL:을 호출할 수 있다.
  • [P] url : URL(Universal Resource Locator) 나타내는 오브젝트.
  •             UIKit http:, https:, tel:, mailto: 스키마들을 제공한다.
  • [R] URL 해당하는 리소스 위치가 성공적으로 열릴 경우 YES. 아니면 NO.
  • – canOpenURL:
  • - (BOOL)canOpenURL:(NSURL *)url
  • 애플리케이션이 주어진 URL의 리소스를 열수 있는지 여부를 리턴
  • 이 메소드는 openURL: 이 호출되었을때, 다른 애플리케이션에서 이것을 제어하기 위해 런치될 것인지를 보장해 준다.
  • 이것은 전체 URL이 유효한 것인지는 보장하지 않는다.
  • [P] url : 주어진 리소스를 식별하는 URL 오브젝트. URL의 스키마 -- 커스텀 스키마로 가능한 -- 는  URL을 제어할 수 있는 애플리케이션을 식별한다.
  • [R] URL을 승인할 수 있는 어플리케이션이 없을 경우 NO, 아니면 YES 를 리턴한다.
Registering for Remote Notifications
  • – registerForRemoteNotificationTypes:
  • - (void)registerForRemoteNotificationTypes:(UIRemoteNotificationType)types
  • Apple Push Service를 통하는 공급자(provider)로 부터 특정 형태의 노티피케이션을 받도록 등록한다.
  • 이 메시지를 보낼 때, 디바이스는 Apple Push Service에 등록 프로세스를 초기화 한다. 이것이 성공하면, 애플리케이션 델리게이트는 application:didRegisterForRemoteNotificationsWithDeviceToken: 메서드에서 디바이스 토큰을 받는다.; 만약 등록이 성공하지 못하면, 델리게이트는 application:didFailToRegisterForRemoteNotificationWithError: 메서드를 통해 알려진다.  만약에 애플리케이션 델리게이트가 디바이스 토큰을 받으면, 그것의 제공자에 연결해서 토큰을 넘겨줘야 한다.
  • [P] types : 애플리케이션이 승인하는 노티피케이션의 비트 마스크 하는 특정 형태.
  • – unregisterForRemoteNotifications
  • - (void)unregisterForRemoteNotifications
  • Apple Push Service로부터 받는 노티피케이션들을 등록해제 한다.
  • – enabledRemoteNotificationTypes
  • - (UIRemoteNotificationType)enabledRemoteNotificationTypes
  • 애플리케이션이 승인하는 노티피케이션들의 형태를 리턴한다.
  • [R] 애플리케이션에 사용자가 요청한 노티피케이션의 형태들을 나타내는 값들에 대한 비트 마스크.

Managing Application Activity
  •   idleTimerDisabled  property
  • @property(nonatomic, getter=isIdleTimerDisabled) BOOL idleTimerDisabled
  • 아이들 타이머가 애플리케이션에서 비활성화 되어있는지를 제어하는 Boolean 값.

Managing Status Bar Orientation
  • – setStatusBarOrientation:animated:
  • - (void)setStatusBarOrientation:(UIInterfaceOrientation)interfaceOrientation animated:(BOOL)animated
  •  애플리케이션의 상태바를 특정 오리엔테이션으로 설정하고 움직임 변화를 것인지 옵션으로 설정할 있다.
  • animated NO 설정할 경우 애니메이션 없이 곧바로 변경된다.
  •   statusBarOrientation  property
  • @property(nonatomic) UIInterfaceOrientation statusBarOrientation
  • 애플리케이션 상태바의 현재 오리엔테이션
  •   statusBarOrientationAnimationDuration  property
  • 90 오리엔테이션 변경이 있는 동안 상태바가 애니메이션되는 시간(초단위, 읽기 전용)

Controlling Application Appearance
  • – setStatusBarHidden:animated:
  • - (void)setStatusBarHidden:(BOOL)hidden animated:(BOOL)animated
  • 상태바를 숨기거나 보여줌. 애니메이션 트랜지션은 옵션.
  • [P] hidden YES 상태바가 숨겨지고, NO 보임. 기본값은 NO
  •   statusBarHidden  property
  • @property(nonatomic, getter=isStatusBarHidden) BOOL statusBarHidden
  • 상태바가 숨겨져 있는지 아닌지 알려주는 Boolean
  • [P] YES - 숨겨짐, NO - 보임
  • – setStatusBarStyle:animated:
  • - (void)setStatusBarStyle:(UIStatusBarStyle)statusBarStyle animated:(BOOL)animated
  • 상태바의 스타일 설정. 새로운 스타일로 변할때 애니메이션 트랜지션을 것인지는 옵션.
  • statusBarStyle - 상태바 스타일을 결정하는 상수값.
  • * UIStatusBarStyle 종류
    • UIStatusBarStyleDefault : 회색 스타일(기본)
    • UIStatusBarStyleBlackTranslucent : 투명한 검정 스타일(50% 알파)
    • UIStatusBarStyleBlackOpaque : 불투명한 검정 스타일

  •   statusBarStyle  property
  • @property(nonatomic) UIStatusBarStyle statusBarStyle
  • 상태바의 현재 스타일
  •   statusBarFrame  property
  • @property(nonatomic, readonly) CGRect statusBarFrame
  • 상태바 영역으로 정의된 사각 프레임
  •   networkActivityIndicatorVisible  property
  • @property(nonatomic, getter=isNetworkActivityIndicatorVisible) BOOL networkActivityIndicatorVisible
  • 네트워크 액티비티의 온/오프 값 변경 상태를 가지는 Boolean 값.
  •   applicationIconBadgeNumber  property
  • @property(nonatomic) NSInteger applicationIconBadgeNumber
  • Springboard 에서 애플리케이션 아이콘의 뱃지로 현재 설정한 넘버
  • 0으로 설정하면 뱃지 넘버를 숨긴다. 기본값은 0.


Setting and Getting the Delegate
  •   delegate  property
  • @property(nonatomic, assign) id delegate
  • 애플리케이션 오프젝트의 델리게이트. 
  • 이 델리게이트는 반드시 UIApplicateDelegate 프로토콜을 따라야 한다.  
  • UIApplication은 델리게이트를 배정하고 리테인 하지 않는다.

2010년 2월 22일 월요일

UIViewController Tasks












Creating a View Controller Using Nib Files

  • – initWithNibName:bundle:
  • - (id)initWithNibName:(NSString *)nibName bundle:(NSBundle *)nibBundle
  • 특정 번들의 nib파일과 새롭게 초기화된 뷰 컨트롤러를 리턴
  •   nibName  property
  • 리시버의 nib파일 이름을 리턴.(읽기 전용)
  •   nibBundle  property
  • 리시버의 nib 번들이 존재한다면 그의 이름을 리턴한다.(읽기 전용)




Managing the View

  •   view  property
  • 컨트롤러가 관리하는 뷰
  • – loadView
  • - (void)loadView
  • 컨트롤러가 관리하는 뷰를 생성
  • – viewDidLoad
  • - (void)viewDidLoad
  • 컨트롤러의 뷰가 메모리에 로드된 후에 호출됨
  • – viewDidUnload
  • - (void)viewDidUnload
  • 컨트롤러의 뷰가 메모리로부터 릴리즈 되었을 때 호출됨
  • – isViewLoaded
  • - (BOOL)isViewLoaded
  • 뷰가 현재 메모리에 로드 되었는지를 나타내는 불린값 리턴.
  •   title  property
  • 컨트롤러가 관리하는 뷰를 나타내는 지역화된 문자열.(NSString)
  • 리시버가 네비게이션 컨트롤러인 경우 탑 뷰 컨트롤러의 타이틀이 기본값이 됨.





Responding to View Events

  • – viewWillAppear:
  • - (void)viewWillAppear:(BOOL)animated
  • 윈도우에 뷰가 추가 될 것인지 뷰 컨트롤러에 알려줌
  • – viewDidAppear:
  • - (void)viewDidAppear:(BOOL)animated
  • 윈도우에 뷰가 추가 되었는지 뷰 컨트롤러에게 알려줌
  • – viewWillDisappear:
  • - (void)viewDidDisappear:(BOOL)animated
  • 뷰가 해제되거나, 가려지거나, 숨겨질 것을 뷰 컨트롤러에게 알려줌
  • – viewDidDisappear:
  • - (void)viewDidDisappear:(BOOL)animated
  • 뷰가 해제 되거나, 가려지거나, 숨겨졌을 경우 뷰 컨트롤러에게 알려줌





Configuring the View’s Layout Behavior

  •   wantsFullScreenLayout  property
  • @property(nonatomic,assign) BOOL wantsFullScreenLayout
  • 뷰가 상태바를 가릴 것인지 아닌지를 알려주는 불린값




Configuring the View Rotation Settings

  •   interfaceOrientation  property
  • @property(nonatomic, readonly) UIInterfaceOrientation interfaceOrientation
  • 인터페이스의 현재 오리엔테이션(읽기 전용)
  • * UIInterfaceOrientation 에 들어갈 수 있는 값의 종류
  •    UIInterfaceOrientationPortrait                        세로모드
  •    UIInterfaceOrientationPortraitUpsideDown      뒤집힌 세로모드
  •    UIInterfaceOrientationLandscapeLeft              왼쪽으로 돌린 가로모드(홈버튼 왼쪽)
  •    UIInterfaceOrientationLandscapeRight             오른쪽으로 돌린 가로모드(홈버튼 오른쪽)
  • – shouldAutorotateToInterfaceOrientation:
  • -(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
  • 뷰 컨트롤러가 해당 인터페이스 오리엔테이션 대로 오토로테이트 할 수 있는지를 나타내는 불린값을 리턴
  • – rotatingHeaderView
  • - (UIView *)rotatingHeaderView
  • 사용자 인터페이스가 회전할 때 헤더뷰를 리턴. 헤더뷰가 없을 때는 nil리턴.
  • 뷰 컨트롤러가 탭바일 경우에는 선택된 탭의 뷰 컨트롤러의 헤더뷰를 리턴한다.
  • 현재 뷰 컨트롤러가 네비게이션 컨트롤러일 경우에는 관련된 네비게이션 바를 리턴한다.
  • – rotatingFooterView
  • - (UIView *)rotatingFooterView
  • 사용자 인터페이스가 회전할 때 footer뷰를 리턴.
  • 뷰 컨트롤러가 탭바일 때는 뷰가 가지고 있는 탭바를 리턴.
  • 뷰 컨트롤러가 네비게이션 컨트롤러일 때는 탑 뷰 컨트롤러의 footer뷰를 리턴.
  • 키보드가 활성화 되어 있을 때는 키보드를 리턴하고, 그 밖의 경우에는 nil을 리턴한다.




Responding to View Rotation Events

  • – willRotateToInterfaceOrientation:duration:
  • - (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
  • 이전 유저 인터페이스가 회전하기 시작했음을 뷰 컨트롤러에 보냄
  • – willAnimateRotationToInterfaceOrientation:duration:
  • – didRotateFromInterfaceOrientation:
  • – willAnimateFirstHalfOfRotationToInterfaceOrientation:duration:
  • – didAnimateFirstHalfOfRotationToInterfaceOrientation:
  • – willAnimateSecondHalfOfRotationFromInterfaceOrientation:duration:





Handling Memory Warnings

  • – didReceiveMemoryWarning



Presenting Modal Views

  •   modalViewController  property
  •   parentViewController  property
  •   modalTransitionStyle  property
  • – presentModalViewController:animated:
  • – dismissModalViewControllerAnimated:




Configuring Navigation Items

  •   navigationController  property
  •   navigationItem  property
  •   editing  property
  • – setEditing:animated:
  • – editButtonItem
  •   hidesBottomBarWhenPushed  property





Configuring the Navigation Controller’s Toolbar

  • – setToolbarItems:animated:
  • - (void)setToolbarItems:(NSArray *)toolbarItems animated:(BOOL)animated
  • 뷰 컨트롤러에 표시될 툴바 아이템 설정
  • toolbarItems = 내장 툴바에 표시될 툴바 아이템들
  • animated = YES일 경우에 툴바에서 아이템이 변하는 애니메이션을 사용한다.
  •   toolbarItems  property
  • @property (nonatomic, retain) NSArray *toolbarItems
  • 뷰 컨트롤러에 관련된 툴바 아이템들.
  • 이 속성은 UINavigationController오브젝트와 연관된 UIBarButtonItem 오브젝트의 배열을 포함한다.
  • 이 뷰 컨트롤러가 네비게이션 컨트롤러 인터페이스 안에 임베드 되어 있다면, 그리고 네비게이션 컨트롤러가 툴바를 나타내고 있다면, 이 속성은 그 툴바에 나타나는 아이템들을 식별한다.
  • 당신은 이 속성을 명확하게 설정할 수 있습니다.
  • 또는 setToolbarItems:animated: 메소드로 툴바 아이템류의 변화 동작을 사용할 수 있습니다.





Configuring Tab Bar Items

  •   tabBarController  property
  • @property(nonatomic, readonly, retain) UITabBarController *tabBarController
  • 탭바 컨트롤러의 부모나 조상(읽기 전용)
  • 탭바 컨트롤러가 추가된 리시버라면, 이 속성은 탭바 컨트롤러이다.
  • 리시버가 탭바 컨트롤러가 추가된 네비게이션 컨트롤러인 경우 이 속성은 네비게이션 컨트롤러의 탭바 컨트롤러이다.
  • 부모에 탭바가 없거나 리시버가 모달 뷰인 경우 이 속성은 nil이다.
  •   tabBarItem  property
  • @property(nonatomic, retain) UITabBarItem *tabBarItem
  • 탭바 컨트롤러가 추가되었을 때 뷰 컨트롤러에 나타나는 탭 바 아이템.
  • 기본값은 뷰 컨트롤러의 타이틀에 표시되는 탭바 아이템이다.
  • 이 속성에 처음 접근 했을 때는 UITabBarItem이 생성된다.








Getting the Search Display Controller

  •   searchDisplayController  property
  • @property(nonatomic, readonly, retain) UISearchDisplayController *searchDisplayController
  • 뷰 컨트롤러와 관련된 서치 디스플레이 컨트롤러(읽기 전용)






http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UIViewController_Class/Reference/Reference.html#jumpTo_44

내 블로그 목록

팔로어