zoukankan      html  css  js  c++  java
  • error: property's synthesized getter follows Cocoa naming convention for returning 'owned' objects

    出现这样的情况,主要是属性名中包括  keyword. 

    You can solve this by:

    1. Renaming that property:

      @property (strong, nonatomic) NSString *theNewTitle;
      
    2. Keeping the property name and specifying a getter name that doesn’t begin with one of the special method name prefixes:

      @property (strong, nonatomic, getter=theNewTitle) NSString *newTitle;
      
    3. Keeping both the property name and the getter name, and telling the compiler that, even though the getter name starts with new, it belongs to the none method family as opposed to the newmethod family:

      #ifndef __has_attribute
      #define __has_attribute(x) 0  // Compatibility with non-clang compilers
      #endif
      
      #if __has_attribute(objc_method_family)
      #define BV_OBJC_METHOD_FAMILY_NONE __attribute__((objc_method_family(none)))
      #else
      #define BV_OBJC_METHOD_FAMILY_NONE
      #endif
      
      @interface ViewController : UIViewController
      @property (strong, nonatomic) NSString *newTitle;
      - (NSString *)newTitle BV_OBJC_METHOD_FAMILY_NONE;
      @end
      

      Note that even though this solution allows you to keep newTitle as both the property name and the getter name, having a method called -newTitle that doesn’t return an object owned by the caller can be confusing for other people reading your code.


  • 相关阅读:
    数组操作方法和迭代方法
    三元运算符
    数组求和/去重
    javascript保留字
    window.onload和document.ready区别
    alert()和consloe.log()区别
    Eventutil函数封装
    前端中的事件流
    react的生命周期
    小程序初体验
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/5228140.html
Copyright © 2011-2022 走看看