iOS符号化のいくつかの仕様
1、インスタンス変数instance variable、好ましくは接頭辞の下線をつける
@interface Person : NSObject
{
NSString* _name;
NSInteger _age;
}
@end
時々mファイルにもインスタンス変数instance variableが使用されます.この場合も接頭辞下線が付きます.
@interface Person()
{
NSNumber* _salary;
}
@end
@implementation Person
@end
2、#pragma mark-を使って「方法の出所」を説明する
はい.mファイルでは、大きなセグメントの方法が多く見られますが、これはコードを読むのに不便です.この方法がプライベートな方法なのか、共有方法なのか、エージェント方法なのか、一目で分かるはずがないので、規範のために、このように示すことができます.mファイルのメソッドのソースと用途、
#pragma mark - xxxxDelegate, ,
#pragma mark - UITableViewDelegate
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return xxx;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return yyy;
}
- (UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
return zzz;
}
#pragma mark - UITextFieldDelegate
-(void)textFieldDidBeginEditing:(UITextField *)textField
{
}
#pragma mark - UIAlertDelegate
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
}
これらのシステムが提供するエージェントの方法はよく知られていますが、カスタムまたは第3のライブラリのオープンソースライブラリのエージェントの方法については、他の人が必ずしも理解しているとは限らないので、この#pragma mark-xxxDelegateを使用して他の人に伝えるのは、あるエージェントからの方法です.
#pragma mark - Private methods
私たちはよくViewControllerにいます.mファイルには多くのプライベートメソッドが書かれており、[self xxxMethod]を使用しています.呼び出しに来て、私达は自分で理解して、他の人もすぐに理解するために、他の人に教えて、#pragma mark - Private methods
- (void)initViews
{
[self.view setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"main_background.png"]]];
self.navigationItem.leftBarButtonItem = [[[UIBarButtonItem alloc] initWithCustomView:_sideButton] autorelease];
self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithCustomView:_postButton] autorelease];
self.navigationItem.titleView = _sliderSwitch;
self.strollTableView.scrollsToTop = YES;
}
- (void)initSliderSwitch
{
_sliderSwitch = [[XWSliderSwitch alloc] initWithFrame:CGRectMake(0, 0, 118, 29)];
_sliderSwitch.labelCount = 2;
_sliderSwitch.delegate = self;
[_sliderSwitch initSliderSwitch];
[_sliderSwitch setSliderSwitchBackground:[UIImage imageNamed:@"top_tab_background2.png"]];
[_sliderSwitch setLabelOneText:@" "];
[_sliderSwitch setLabelTwoText:@" "];
}
これはプライベートな方法であり、本クラスでのみ[self xxxMethods]を通過することを他の人に伝える.よびだし
#pragma mark - Public methods
- (void)sideButtonDidClicked
{
//
}
これはクラスオブジェクトのメソッドであり,一般に本クラスで呼び出されず,公開されていることを他の読者に伝える.
#pragma mark - UIAction methods
- (void)buttonClicked:(id)sender
{
//
}
-(IBAction)cancel:(id)sender
{
[self.view removeFromSuperview];
}