2012-01-13 5 views
1

Q) 모든 인터페이스 클래스가 수퍼 클래스에서 상속되어야합니까? Q) 아래 코드에서 - ARC가있는 병동의 iOS5에서 여전히 ARC 이후 ARC가 잘못 생각한 경우를 제외하고는 (플레이어가 NSMUtable 배열 임) 할 필요가 있습니다.iOS5 SDK - ARC 및 메모리 관리

// is 이 때 필요한가? Player * player = [[Player alloc] init];

{players = [NSMutableArray arrayWithCapacity:20]; 
Player *player = [[Player alloc] init]; 
player.name = @"Bill Evans"; 
player.game = @"Tic-Tac-Toe"; 
player.rating = 4; 
[players addObject:player]; 
player = [[Player alloc] init]; 
player.name = @"Oscar Peterson"; 
player.game = @"Spin the Bottle"; 
player.rating = 5; 
[players addObject:player]; 
player = [[Player alloc] init]; 
player.name = @"Dave Brubeck"; 
player.game = @"Texas Hold’em Poker"; 
player.rating = 2; 
[players addObject:player];} 

Q) 우리가 implementaiotn/인터페이스 클래스 또는 모두 NSObject의 선언 그렇게 할 객체 클래스에서 파생 된 자바의 모든 일, 즉의 인터페이스 파일과 구현 파일 서브 클래스를 만드는 주변의 규칙이 무엇인지는 필요하고 다른 어디 있지 나는 이것을 정의 할까?

Q) 어느 쪽을 추천 해 주십니까? A : Player * player = [[Player alloc] init]; OR B : Player * player = [[Player new]; // 이것이 불법이 아닌 한?

Q)는 Mac OS X 앱 또는 iOS (iphone/touch)에서만 사용할 수있는 ARC이거나 수동 메모리 관리가 필요합니까?

Q) 싱글 톤 패턴을 Objective-c, 코코아 터치 iphone 앱에 적용 할 수 있습니까?

답변

1
  • 당신은, 특별히
  • [[Player alloc] init][Player new]에 해당 다른 클래스에서 파생하지 않으려면, NSObject에서
  • 항상 클래스를 파생 객체의 인스턴스를 [[Player alloc] init]을해야하지만, 이전하는 것이 바람직하다 [[Player alloc] initWithName:@"John Doe"]
  • 와 같은 다른 이니셜 라이저를 쉽게 바꿀 수 있기 때문에 ARC는 가비지 수집 대신 사용되어야하는 iOS 및 Mac에서 사용할 수 있습니다. 다소가 사용되지 않을 예정입니다.
  • 당신이
+0

아이폰 OS >> 이 -i 그 이해 특별히 다른 클래스에서 파생하는 당신이 원하는하지 않는 한 항상 NSObject의에서 클래스를 파생에 싱글을 만들 수 없습니다 이유

  • 은 내가 볼 수 없지만 내가 물어 보려는 것은 명시 적으로 정의 할 것인가 아니면 컴파일러가 처리하는 것인가? - 싱글 톤 패턴에 대해서는이 아이디어에 대해 iOS5의 신뢰할 수있는 코드를 찾을 수 없었습니다. > [[Player alloc] initWithName : @ "John Doe"] initWithName은 NSMuttable 배열 클래스의 메서드입니다. – codejunkie

  • +0

    @RedMan NSObject는 Cocoa의 기본 클래스이지만 그로부터 파생 될 필요는 없습니다. 명시 적으로하지 않으면 해당 기능이 제공되지 않습니다 (https://developer.apple.com/library/prerelease/ios/#documentation/Cocoa/Reference/Foundation/Protocols/NSObject_Protocol/Reference/). NSObject.html % 23 // apple_ref/occ/intf/NSObject). 싱글 톤에 대해서는 비 iOS 환경과 다른 이유를 알지 못합니다. 예를 들어이 질문을 참고하십시오. http://stackoverflow.com/questions/145154/what-does-your-objective-c-singleton -look-like –

    +0

    그냥 다른 사람들을위한 참조 추가 클래스 방법은 이상적이며 싱글 톤 패턴을 사용하는 유일한 방법입니다. – codejunkie