아이폰어플개발정보2011. 3. 12. 17:14

 

작업을 하다보면 객체의 멤버 변수 값을 확인하고 싶을 때가 있다.

이럴때 유용하게 사용할 수 있는 메소드가 (NSString *)description 함수이다.


NSObject 의 메소드인 description 함수는 다음과 같이 정의 되어 있다.

 

 

description

Returns a string that describes the contents of the receiver. (required)

- (NSString *)description

Return Value

A string that describes the contents of the receiver.

Discussion

The debugger’s print-object command indirectly invokes this method to produce a textual description of an object.

Availability

  • Available in Mac OS X v10.0 and later.

Declared In

NSObject.h 

 

  

위의 설명에서 볼 수 있듯이 이 메소드는 NSLog 와 같이 객체를 출력하는 메소드에서 자동 호출되어 스트링 형태의 설명을 제공한다.

이것은 override 하지 않은 채로 객체에다 쓰게 되면 다음과 같이 객체의 주소 값을 리턴한다.


 

testAppObject *obj; obj = [[testAppObject alloc] init]; NSLog(@"%@", obj); 

<코드>


<결과>


이 메소드를 활용하면 객체의 값을 확인해 볼 수가 있다.

예를 들어 다음과 같은 클래스의 객체가 있다고 하자.

 

@interface Problem : NSObject {

    NSInteger type;

    NSString title;    

    NSInteger answer;

} 

  

이 객체의 type, title, answer 의 값을 알고 싶을 때, description 메소드를 다음과 같이 수정하면 된다.


- (NSString *)description {

    return [NSString stringWithFormat:@"%d %@ %d", type, title, answer];

} 

   

위의 경우 problem 클래스 객체를 만들어 NSLog 를 이용해 출력해보면 주소 값이 아닌 멤버 변수들의 값이 츨력 될 것이다.





출처 : http://blog.daum.net/_blog/hdn/ArticleContentsView.do?blogid=0Xfhi&articleno=21&looping=0&longOpen=
Posted by 오늘마감

댓글을 달아 주세요

아이폰어플개발정보2010. 10. 12. 05:17
How to override UIWebView links request action with your own custom method

How to override UIWebView links request action with your own custom method

Ivan Kalaica

If you have a Web View in your view you can call a custom action when the user taps on a link in that UIWebView instance.

Here’s how…

Set the delegate of that UIWebView class instance on your instance of UIViewController class. Now just copy & paste the following code into your class.  This code implements the UIWebView instance and adds a call to the custom action (method).

- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {
if(navigationType == UIWebViewNavigationTypeLinkClicked) {
if (overrideLinksSwitch.on == TRUE) {
[self myMethodAction];
[myWebView stopLoading];
return YES;
}
else {
<>return YES;
}
}
return YES;
}

You can download an example app here.

http://surgeworksmobile.com/iphone/how-to-override-uiwebview-links-request-action-with-your-own-custom-method
Posted by 오늘마감

댓글을 달아 주세요

아이폰어플개발정보2010. 9. 27. 05:22
How to override UIWebView links request action with your own custom method

How to override UIWebView links request action with your own custom method

If you have a Web View in your view you can call a custom action when the user taps on a link in that UIWebView instance.

Here’s how…

Set the delegate of that UIWebView class instance on your instance of UIViewController class. Now just copy & paste the following code into your class.  This code implements the UIWebView instance and adds a call to the custom action (method).

- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {
if(navigationType == UIWebViewNavigationTypeLinkClicked) {
if (overrideLinksSwitch.on == TRUE) {
[self myMethodAction];
[myWebView stopLoading];
return YES;
}
else {
<>return YES;
}
}
return YES;
}

You can download an example app here.

http://surgeworksmobile.com/iphone/how-to-override-uiwebview-links-request-action-with-your-own-custom-method
Posted by 오늘마감

댓글을 달아 주세요