ios开发过程中我遇到的疑问汇总

来源:互联网 发布:alisql和mysql 编辑:程序博客网 时间:2024/05/18 02:48

1.


最下边一行为什么它的 retainCount  会是1 呢? 此处并未用到 alloc retain copy 中的任何一个啊?

原文见:http://blog.sina.com.cn/s/blog_4b9b714a0102dqo4.html   最下边一行


答案:刚才在群里一大神回答了,人家说的应该是对的 ,即:

            只要对象创建它的 retainCount 就为 1  ,  但上边这种情况即使它的 retainCount = 1 我们仍然不需要把它 release, 因为它是自动释放的  (后边也没有 autorelease)


2.关于若将一副图片在竖屏时是全屏显示,而在横屏或其它时图片没有实现全屏显示的实现方法:

即:


代码如下:



解决办法 :

a.我是这样写的,也算是实现了 ,但不知道是不是还有问题。注:每个viewController对象都有这个方法


b.网上有一好友给的方法是这个,有点不懂,以后再好好学习下:






注意:以上两种方法都是在

此函数中实现的,并不是在如下函数中实现:




3.关于ios中输出格式 %c 与 %C 的区别:

有个网友回答是 %C 表示输出的是unichar unichar占两个字节(注意:此处并不是 unsigned char ,但并不知道他们啥关系 )


然后在网上找了个关于unichar 说明 的:

iphone/mac开发中,unichar是两字节长的char,代表unicode的一个字符。但在xcode中,初始化unichar是个问题。如果像下面这样声明,会有warning "Multi-character character constant"。
  unichar a = '国';
  这是因为C语言中两个单引号只能用于char。可以采用直接写文字编码的方式来初始化。
  unichar a = 0x0100;
  如果有很多个unichar怎么办?一个个去查表太麻烦了。可以采取变通的方法:
  unichar a[10];
  NSString *aString = @"一二三四五六七八九十";
  for (int i = 0; i < 10; i++)
  a[i] = [aString characterAtIndex:i];