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ファイルのメソッドのソースと用途、
  • (1)は、これがエージェントからの方法
    #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を使用して他の人に伝えるのは、あるエージェントからの方法です.
  • (2)これはプライベートメソッドであることを示しています
    #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]を通過することを他の人に伝える.よびだし
  • (3)は、共有方法
    #pragma mark - Public methods
    
  • であることを示す.
    - (void)sideButtonDidClicked
    {
        // 
    }

    これはクラスオブジェクトのメソッドであり,一般に本クラスで呼び出されず,公開されていることを他の読者に伝える.
  • (4)は、UIコントロールイベントがトリガする方法
  • であることを示す.
    #pragma mark - UIAction methods
    - (void)buttonClicked:(id)sender
    {
        // 
    }
    -(IBAction)cancel:(id)sender
    {
        [self.view removeFromSuperview];
    }