2012-10-23 3 views
1

에서 함수를 호출하는 [i]를 사용해야하는 경우 iOS에서는 함수를 호출 할 때 약간의 혼란이 있습니다.언제 사용 하는가? 매개 변수 및 IOS [

-(void) function:(NSString*) str 
{ 
    selectedstring = str; 
} 

기능을 호출 할 때.

I 같이 호출해야

self.function = @"My name"; 

[self function:@"My name"] 

파라미터 및 iOS 함수 호출에서 []

차이 란 (.)는?

답변

0

myVar = self.propertymyVar = [self property]

self.property = anotherVar에 해당 당신은 스타일의 문제이다 사용 [self setProperty:anotherVar]

에 해당합니다.

도트 구문은 실제로 속성으로 정의 된 것 (@property)에만 사용해야한다고 말하는 사람들이 있습니다. 나는 이것에 동의하지 않는다. 제 의견으로는 최소한의 다른 부작용으로 값을 얻거나 설정하는 것을 호출 할 때마다 도트 구문을 사용해야합니다. 메소드를 직접 작성 했든 자동 생성 할 수있는 속성을 합성 했든간에 중요하지 않습니다. 중요한 것은 값을 가져오고 설정하는 것과 관련이 있는지 여부입니다.

그래서 myArray.count은 괜찮습니다. 헤더 파일에 @property이 없어도 괜찮습니다. 그러나 myURLConnection.start은 값을 반환하지 않으며 작업 수행과 관련되기 때문에 아닙니다.

사람들은 이에 동의하지 않습니다. 어떤 사람들은 도트 구문을 전혀 사용하지 않는 것을 좋아합니다. 구조체의 멤버에 액세스하는 것과 혼동 될 수 있기 때문입니다 (이 또한 .을 사용함). 다른 사람들은 @property s에 대해 도트 구문을 사용해도되지만 다른 방법에는 사용할 수 없습니다.

관련 문제