iOS开发过程中常见问题

SQL语句:

根据id来排序,删除表中的前3条数据
DELETE FROM sync WHERE id IN ( SELECT id FROM sync ORDER BY id LIMIT 3) 

 

1. viewDidUnload一般情况下只在memory warning的时候才被调用

2..PCH预编译头文件 在Xcode项目中是prefix.pch文件,在Supporting Files Group中使用预编译头文件是为了“提高编译速度” 把一个工程中较为稳定的、不经常修改的代码放在一个文件中,每次编译时如果预编译中的代码没有修改,那么就不再编译这部分代码;

 

3.PSCollectionView是一个特殊的tableView,布局称为瀑布流式布局,主要特征是错落有致,定宽而不定高,巧妙地利用了视觉层级,实现的任意流动又缓解了视觉疲劳。

4.NSString/NSArray/NSDictionary/NDData都可以直接与本地文件file交互,NSImage不可以,中间需要NSData转化一下。

5. 应用启动的时候调用

didFinishLaunchingWithOptions

applicationDidBecomeActive

    应用从前台进入后台时,会调用两个方法:

applicationWillResignActive

applicationDidEnterBackground

   应用从后台进入前台,会调用两个方法:

applicationWillEnterForeground

applicationDidBecomeActive

6.iphone开发国际化问题

http://blog.csdn.net/tangren03/article/details/8081032

7.sizeToFit  调用这个方法,会自动调节当前的view大小,例如在UIScrollView中嵌套UIWebView时,调用UIWebView的这个方法,就会自动把UIWebView的frame变大,不再滚动。

8.全局变量BOOL 的默认初始值是NO。局部变量需要初始化才可以使用,如果强制使用的话默认是YES。

 9.根据对象获取类名: [NSString stringWithUTF8String:object_getClassName(a)]; 获取对象的类名

 NSString *class_name = [NSStringstringWithUTF8String:object_getClassName(obj)];

10.通过类名来创建对象

Class testClass=NSClassFromString(@”testClass”);

id object=[[testClass alloc] init];

11.IsKindOfClass与IsMemberOfClass的区别:

IsKindOfClass用于判断是否是指定类的一个实例或者继承至指定类的子类的实例。

 

IsMemberOfClass用于判断是否是指定类的一个实例。只有在极少数特殊情况才起作用,不建议使用。
12.IsProxy若接受者继承至NSObject返回NO,其它都返回YES。

 

13.SEL可以看成是一个函数指针,通过函数名找到相应的方法,在编译时通过@selector()创建。

 

14.-(id)performSelector:(SEL) aSelector ;
-(id)performSelector:(SEL) aSelector withObject:(id) anObject ;
-(id)performSelector:(SEL) aSelector withObject:(id) anObject withObject:(id) anotherObjec ;
跟直接通过方法名调用类似,但通过消息发送通知的机制,效率更高,比满查找相应的类,找到对应的函数接口,再执行相应的代码。可以在类内使用,也可以在类的外部使用。
15.id与void *的区别:id指向一个未知类型的objective c对象,void *指向一个未知类型的对象,比id使用范围更广。
16.在我的代码中使用这段代码来屏蔽掉NSLog
//#define NSLog //NSLog

#define NSLog NSLog(@"#%s##%d#",strrchr(__FILE__,'/'),__LINE__);NSLog

#ifdef DEBUG

#define MYLog(f, ...) NSLog(f, ## __VA_ARGS__)

//#define DDLog(f, ...)

#else

//#define DDLog(f, ...) NSLog(f, ## __VA_ARGS__)

#define MYLog(f, ...)

#endif

 

17.

Architectures 项目里想要Xcode编译的目标设备

Build Active Architecture Only 属性设置为yes,为了debug时编译速度更快,只编译对应的版本 

 

猜你喜欢

转载自quding0308.iteye.com/blog/1822918