新手ios项目总结(二)

1.分别在UITabBarItem和NavigationItem中如何设置字体的颜色

(1)

 1  UIBarButtonItem *barButtenColor=[UIBarButtonItem appearance];
 2
 3  NSMutableDictionary *BarButteonForColorDiction=[NSMutableDictionary dictionary];
 4
 5 //and shadow properties for the title in the text attributes dictionary, using the keys found in NSAttributedString.h
 6
 7     BarButteonForColorDiction[NSBackgroundColorAttributeName]=[UIColor orangeColor];
 8
 9     BarButteonForColorDiction[NSFontAttributeName]=[UIFont systemFontOfSize:14];
10    //这个设置所有barButton的颜色风格,tabbarItem中的Barbutton同上
11     [barButtenColor setTitleTextAttributes:BarButteonForColorDiction forState:UIControlStateNormal];

2.在管理项目所有类的时候(变成蓝色文件)

移动文件的时候注意要留main.m和info.plist文件在根目录下,不然会报找不到文件的问题。

3.Load方法和initialize方法

   (1). load和initialize的共同特点

load和initialize有很多共同特点,下面简单列一下:

  • 在不考虑开发者主动使用的情况下,系统最多会调用一次
  • 如果父类和子类都被调用,父类的调用一定在子类之前
  • 都是为了应用运行提前创建合适的运行环境
  • 在使用时都不要过重地依赖于这两个方法,除非真正必要

     (2). load方法相关要点

废话不多说,直接上要点列表:

  • 调用时机比较早,运行环境有不确定因素。具体说来,在iOS上通常就是App启动时进行加载,但当load调用的时候,并不能保证所有类都加载完成且可用,必要时还要自己负责做auto release处理。
  • 补充上面一点,对于有依赖关系的两个库中,被依赖的类的load会优先调用。但在一个库之内,调用顺序是不确定的。
  • 对于一个类而言,没有load方法实现就不会调用,不会考虑对NSObject的继承。
  • 一个类的load方法不用写明[super load],父类就会收到调用,并且在子类之前。
  • Category的load也会收到调用,但顺序上在主类的load调用之后。
  • 不会直接触发initialize的调用。

3. initialize方法相关要点

同样,直接整理要点:

  • initialize的自然调用是在第一次主动使用当前类的时候
  • 在initialize方法收到调用时,运行环境基本健全。
  • initialize的运行过程中是能保证线程安全的。
  • 和load不同,即使子类不实现initialize方法,会把父类的实现继承过来调用一遍。注意的是在此之前,父类的方法已经被执行过一次了,同样不需要super调用。

由于initialize的这些特点,使得其应用比load要略微广泛一些。可用来做一些初始化工作,或者单例模式的一种实现方案。

4.对于ios整体架构的补充

通常我们原始的ViewController继承UITabBarController在添加各个viewcontroller在加载运行的时候会都添加到上去,切换的时候不会吧这个viewController移除,为了高性能,必须在这个类中禁止用涉及View的一些方法,因为会有一些影响(比如需要在导航栏加载后渲染的方法,同事一不小心就会把每个控制器的View都加载上)

5.

1 //处于不用的阶段的NSLog方法,防止在上架后再控制台打印
2 #ifdef DEBUG
3 #define WXRLog(...) NSLog(__VA_ARGS__)
4 #else
5 #define WXRLog(...)
6 #endif
时间: 2024-09-30 06:04:16

新手ios项目总结(二)的相关文章

IOS项目之弹出动画二

在IOS项目之弹出动画一中只是实现也功能,并没有体现面向对象的思想 ,今天就试着把它封装了一下,弹出视图的内容可以根据自定义,此处只是用UIDatePicker来演示 我把它传到了GitHub上   https://github.com/ywcui/YvanDatePicker.git 一.新建一个类YWDatePicker集成UIView // YvanDatePicker.h #import <UIKit/UIKit.h> typedef void (^selectDate)(NSDate

iOS项目开发之Socket编程

有一段时间没有认真总结和写博客了 前段时间找工作.进入工作阶段.比较少静下来认真总结,现在静下心来总结一下最近的一些心得 前言 AsyncSocket介绍 AsyncSocket详解 AsyncSocket示例 一.前言 公司的项目用到了Socket编程,之前在学习的过程当中,用到的更多的还是http请求的方式.但是既然用到了就必须学习一下,所以就在网上找一些例子,然后想自己写一个demo.可是发现很多写iOS Socket的博客并没有很详细的说明,也可能是大神们觉得其他东西都浅显易懂. 自己专

学iOS开发(二)——实现一款App之编写自定义类

今天学iOS开发(二)--实现一款App之编写自定义类 当开发iOS应用程序时,你会发现在许多场景下,你需要编写自己的自定义类.当你需要数据和自定义行为一起打包时,自定义类就很有用了.在一个自定义的类中,你可以为存储.操纵和显示数据定义你自己的行为. 例如,考虑iOS Clock app中的全球时钟标签(World Clock tab).这个表视图中的单元格需要显示比标准表视图单元格更多的内容.这是一个不错的机会实现一个扩展UITableViewCell行为的子类,从而在给定的表视图单元格中显示

开源 iOS 项目分类索引大全

GitHub 上大概600个开源 iOS 项目的分类和介绍,对于你挑选和使用开源项目应该有帮助 系统基础库 Category/Util sstoolkit 一套Category类型的库,附带很多自定义控件 功能不错- BlocksKit 将Block风格带入UIKit和Founcation cocoa-helpers 一些Cocoa的扩展 2年前的工程 CoconutKit 一系列扩展和一些自定组件 STUtils 一系列扩展包 PSFoundation 一系列扩展 和功能增强 ConciseK

iOS项目开发实战——通过Http Get方式与server通信

移动client往往须要同后台server进行通信,上传或者下载数据,最经常使用到的方式就是Http Get,如今我们来学习在iOS项目中使用Get方式同server进行通信. [一]server端实现 (1)首先要安装好能进行J2EE开发的Eclipse或者MyEclipse,配置好Tomcat环境. 我这里使用Eclipse Mars.Tomcat版本号为8.  然后新建一个Dynamic Web Project.名称为MyServer. 然后在WebContent中新建一个JSP File

iOS项目更新之升级Xcode7 & iOS9

前言      Apple 的WWDC所发布内容在给大家带来惊喜之际,给各位iOS开发的同仁却也带来了不同程度的麻烦.首先不讲新功能,就单指原来老版本的项目升级.代码升级,就是一堆问题,而且是不得不面临的问题.下面就跟着笔者一起来回顾下,此次在项目升级过程中,所遇到的各个问题点,以及解决方案,与各位已经做过和正在做iOS代码升级的同仁共勉,也给各位将要做Xcode 7和iOS9兼容的同仁以参考. 开发环境安装 原本运行得好好的项目,要升级Xcode7,首先就得安装Xcode7,具体的可以从开发者

0818开班典礼-第一个iOS项目

一.按钮点击事件处理方法 - (IBAction) tapHelloButton:(id)sender; 二.获取文本框控件 @property (weak, nonatomic) IBOutlet UITextField *userNameText; 三.获取文本标签控件 @property (weak, nonatomic) IBOutlet UILabel *messageLabel; 四.获取文本框内容 _userNameText.text 或者: self.userNameText.t

iOS项目开发实战——学会使用TableView列表控件(四)plist读取与Section显示

文本将会实现把数据存储到plist文件里.然后在程序中进行读取.在TableView控件中依据不同的类别显示Section. 有关TableView 的其它实现,请參考<iOS项目开发实战--学会使用TableView列表控件(一)><iOS项目开发实战--学会使用TableView列表控件(二)><iOS项目开发实战--学会使用TableView列表控件(三)了解Section>. (1)新建一个Property List文件,这个也就是plist文件.我取名为dat

ios项目里扒出来的json文件

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #000000 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #d12f1b } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px "PingFang SC"; color: #d12f1b } p.p4 {