Xcode 4 が出たので早速ためしてみた。使っているうちに気付いたのは、 Deprecated になったメソッドに打ち消し線がつくようになったこと。いままではどのメソッドが deprecated になったかは、補完時にはわからなかったのでうれしい。ついでに自分で作ったクラスでも利用できないか調べてみると、 意外と簡単で deprecated にしたいメソッドに
__attribute__((deprecated))
を付ければいいだけみたい。
// 今開いてたファイルからコピペ(笑)
//
// MessageCell.h
// LogViewer
//
// Created by mtakagi on 10/12/21.
// Copyright 2010 http://outofboundary.web.fc2.com/. All rights reserved.
//
#import <UIKit/UIKit.h>
@class LogFetchedMessage;
@class GradientBackgroundView;
@interface MessageCell : UITableViewCell {
LogFetchedMessage *message;
IBOutlet UILabel *messageBody;
IBOutlet UIView *headerView;
IBOutlet UILabel *sender;
IBOutlet UILabel *facility;
IBOutlet UILabel *time;
IBOutlet UILabel *level;
}
@property BOOL isWhiteBackgroundColor;
+ (CGFloat)rowHeight:(NSString *)labelText;
// こんな感じでメソッドに __attribute__((deprecated)) を追加。
- (void)setMessage:(LogFetchedMessage *)m __attribute__((deprecated));
- (LogFetchedMessage *)message;
- (UIView *)contentView;
- (UIImage *)screenshot;
@end
こんな風にヘッダファイルにあるメソッドの宣言に __attribute__((deprecated)) を付けると
メソッドの補完時に deprecated なメソッドに打ち消し線が付くようになります! これは覚えておくと便利かもしれません!
ちなみに clang の
__attribute__((deprecated))
では
__attribute__((deprecated("This method is deprecated!")))
と書くことでコンパイル時にメッセージを表示することができるみたいです。
0 件のコメント:
コメントを投稿