iOS开发相关小细节

来源:互联网 发布:域名的意思 编辑:程序博客网 时间:2024/05/15 03:44

UIBarButtonItem是自定义导航栏的按钮

先创建UIButton 然后通过下面的方式创建

UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithCustomView:button];


UINavigationItem

@private

    NSString        *_title;
    NSString        *_backButtonTitle;
    UIBarButtonItem *_backBarButtonItem;
    NSString        *_prompt;
    NSInteger        _tag;
    id               _context;
    UINavigationBar *_navigationBar;
    UIView          *_defaultTitleView;
    UIView          *_titleView;
    UIView          *_backButtonView;
    NSArray         *_leftBarButtonItems;
    NSArray         *_rightBarButtonItems;
    NSArray         *_customLeftViews;
    NSArray         *_customRightViews;
    BOOL             _hidesBackButton;
    BOOL             _leftItemsSupplementBackButton;
    UIImageView     *_frozenTitleView;

深拷贝和浅拷贝之分 深拷贝copy  浅拷贝 retain

@property 是一个属性访问声明,括号内支持一下几个属性

1 getter = getterName,setter = setterName 设置setter 于getter 的方法名

2 readwrite,readonly 设置可访问的级别

3 assing setter方法直接赋值 不进行任何retain操作 为了解决原类型于循环引用问题

4 retain setter方法对参数进行release旧值在retain新值 所有实现都是这个顺序

5 copy setter方式进行Copy操作 与retain处理流程一样 先将旧值release,再Copy出新的对象 这是为了减少上下文的依赖而引入的机制

6 nonatamoic非原子型访问 不加同步 多线程访问会提高性能 注意如果不加此属性 则默认是两个访问方法都为原子型事物访问 锁会被加到对象实例级



0 0
原创粉丝点击