Iphone 关于提高编码质量,我有很多问题:

Iphone 关于提高编码质量,我有很多问题:,iphone,objective-c,Iphone,Objective C,希望每页发布超过1个问题不违反规定 我有value1,它根据value2的变化而变化。正因为如此,每次我更改value2,我都会去[self changeValue1],然后运行一些代码,查看value2并更改value1。有没有一种更自动化的方法,当value2更改并调用这种方法时,我可以通知应用程序 我有一些方法(比如上面的方法),我不想从该类之外访问这些方法。如何使方法私有化 公元1年。在文档中查找关键值 公元2年。在私有类别中定义方法。这并不意味着其他类不能再调用该方法,但至少编译器会警

希望每页发布超过1个问题不违反规定

  • 我有value1,它根据value2的变化而变化。正因为如此,每次我更改value2,我都会去[self changeValue1],然后运行一些代码,查看value2并更改value1。有没有一种更自动化的方法,当value2更改并调用这种方法时,我可以通知应用程序

  • 我有一些方法(比如上面的方法),我不想从该类之外访问这些方法。如何使方法私有化


  • 公元1年。在文档中查找关键值

    公元2年。在私有类别中定义方法。这并不意味着其他类不能再调用该方法,但至少编译器会警告您

    在MySubclass.m中:

    @interface MySubclass ()
    
    - (void)myPrivateMethod;
    
    @end
    
    @implementation MySubclass 
    
    etc. etc.
    

    公元1年。在文档中查找关键值

    公元2年。在私有类别中定义方法。这并不意味着其他类不能再调用该方法,但至少编译器会警告您

    在MySubclass.m中:

    @interface MySubclass ()
    
    - (void)myPrivateMethod;
    
    @end
    
    @implementation MySubclass 
    
    etc. etc.
    

    对于问题1,您可以看到关键值:

    对于问题2,可以使用要添加的方法在.m文件顶部添加类的扩展名

    @interface MyClass ()
    
    -(void) _myPrivateMethod;
    
    @end
    

    对于问题1,您可以看到关键值:

    对于问题2,可以使用要添加的方法在.m文件顶部添加类的扩展名

    @interface MyClass ()
    
    -(void) _myPrivateMethod;
    
    @end
    

    听起来像是一名代表的工作。下次只问一个问题可能更好。听起来像是一名代表的工作。下次只问一个问题可能更好。一开始有一个,而没有呢?知道这个方法是私有的只是一种命名惯例。以下划线开头的方法(和变量)名称是苹果保留的。如果有任何东西使它成为一个尾随下划线,但我通常不认为有必要这样做。一个方法只在私有类别中定义这一事实使它的意图足够清楚。@Johan:标记该方法的名称可以更容易地在调用站点看到它是私有的。在开始时有一个u与没有一个有什么区别?知道这个方法是私有方法只是一种命名约定(和变量)以下划线开头的名称是Apple保留的。如果有任何东西使其成为尾随下划线,但我通常认为没有必要这样做。方法仅在私有类别中定义这一事实使其意图足够清楚。@Johan:标记方法的名称可以更容易地在调用站点上看到它是私有的。