iOS: 새로운 기능 2 (iOS 5.1 / xcode 4.4) -- LLVM 4.0

2608 단어 xcodeObjective-C4
애플 은 WWDC 2012 총회 에서 오 브 젝 티 브 - C 의 새로운 특성 을 대거 소개 했다.업 데 이 트 된 XCode 4.4 버 전에 서 는 이러한 새로운 기능 을 이미 사용 할 수 있다.
참고:http://blog.devtang.com/blog/2012/08/05/use-modern-objective-c/
= = = = = = = = = = =
        이것 은 비록 매우 작은 개선 이지 만 매우 마음 에 든다.만약 에 우리 가 하나의 소스 파일 에 두 개의 함수 가 있다 면 각각 foo 와 bar 라 고 하 는데 그 중에서 foo 의 정 의 는 bar 앞 에 있 습 니 다.그러면 foo 함수 내부 에서 bar 를 직접 호출 하면 컴 파일 러 는 함수 bar 를 찾 을 수 없다 고 경고 합 니 다.        이 제 는 원본 파일 에 함수 bar 의 위 치 를 마음대로 배치 할 수 있 습 니 다.컴 파일 러 는 bar 를 찾 지 못 할 때 소스 코드 뒤에서 찾 습 니 다. bar 를 찾 으 면 잘못 보고 하지 않 습 니 다.
= = = = = = = = = = = = = 유형 을 가 진 enum = = = = = = = = = = = = = = = = = = = = = = =
        이제 우 리 는 enum 이 기호 가 없 는 정수 인지 정수 인지 정의 할 수 있 습 니 다. 그러면 컴 파일 러 는 더욱 스마트 하 게 유형 검 사 를 할 수 있 습 니 다.다음 과 같다.
typedef enum TableViewCellType : NSInteger {
    TableViewCellTypeQueue,
    TableViewCellTypeNewFans,
    TableViewCellTypeUserInfo,
    TableViewCellTypeOrganization,
    TableViewCellTypeFeedback,
    TableViewCellTypeRateApp,
    TableViewCellTypeRecommendation,
    TableViewCellTypeLogout
}TableViewCellType;

============
기본 생 성 @ synthesize 코드
============
       편집기 에서 @ synthesize 를 쓰 지 않 은 것 을 발견 하면 자동 으로 이 줄 을 추가 합 니 다. @synthesize XX = _XX。이 동시에 다른 한편, 다음 밑줄 로 시작 하 는 변수 이름 을 구성원 변수 이름 으로 사용 하도록 격려 하 는 역할 을 했다.
       물론 아래로 호 환 하기 위해 서 프로그램 에 @ property 변수 에 대응 하 는 @ synthesize 코드 가 있 으 면 편집기 가 자동 으로 이 코드 를 추가 하지 않 습 니 다.자세 한 내용 은 iOS: 속성... 을 보십시오.
       또한 2 가지 특별한 상황 에서 @ synthesize 를 쓰 지 않 아 도 편집기 가 자동 으로 추가 되 지 않 습 니 다. 이 2 가지 상황 은: 1. 이 property 의 setter 와 getter 방법 을 동시에 제공 합 니 다.2. 이 property 는 readonly 이 고 getter 방법 을 제공 합 니 다.
= = = = = = = = = = = = 요 소 를 옮 겨 다 니 며 = = = = = = = = = = = = = = = = = = = =
       이전: 하 나 는 for in 을 사용 하고 다른 하 나 는 하나의 변수 로 값 을 순환 하 는 것 입 니 다.
  NSArray * lines = ...
    for (NSString * line in lines) {
       // ...
    }
    for (int i = 0; i < lines.count; ++i) {
        NSString * s = [lines objectAtIndex:i];
        ...
    }
//      ,              :
    NSDictionary * dict = …
    NSArray * keys = [dict allKeys];
    for (NSString * key in keys) {
        NSString * value = [dict objectForKey:key];
    }
        xcode 는 iOS 4.0 이상 의 시스템 에 대해 블록 으로 요 소 를 옮 겨 다 니 는 것 을 지원 합 니 다.블록 으로 사전 을 옮 겨 다 니 면 코드 의 작성 을 간소화 할 수 있 습 니 다. 이 새로운 기능 을 사용 하 는 것 을 권장 합 니 다.
[lines enumerateObjectsUsingBlock:^(NSString * obj, NSUInteger idx, BOOL *stop) {
}];
[_urlArguments enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
}];

좋은 웹페이지 즐겨찾기