我有一种情况,我必须每次从背景到前景初始化一个对象,并且应该使用NSNotificationCenter而不是appdelegate,因为我建立了一个静态库,因此不会有appdelegate,所以请帮助我同样.
有没有办法将xcode项目转换为静态库并在其他项目中使用它?我有一个项目,它读取QRcode,它有自己的静态库,我想把整个项目作为一个单独的库.
我使用xcodeproj为我的xcodeproject添加一个静态库,并且我在new_file方法中遇到错误,错误是:normalize_source_tree': [Xcodeproj] Unrecognized source tree optionAuto`(RuntimeError)有什么帮助吗?
我对iOS块完全陌生.我在一本关于ios内联块的书中读过.什么是内联块?我们可以用任何物体吗?普通和内联块有什么区别?
这就是我在书中看到的
使用内联块而不是回调函数
NSArray* arr2 = [arr sortedArrayUsingComparator: ^(id obj1, id obj2) {
NSString* s1 = obj1;
NSString* s2 = obj2;
NSString* string1end = [s1 substringFromIndex:[s1 length] - 1];
NSString* string2end = [s2 substringFromIndex:[s2 length] - 1];
return [string1end compare:string2end];
}];
Run Code Online (Sandbox Code Playgroud)
如上例所示,内联定义的块不可重用; 如果我们有两次调用sorted-ArrayUsingComparator:使用相同的回调,我们必须完全写回两次回调.为了避免这种重复,或者为了清楚起见,可以将块分配给变量,然后将该变量作为参数传递给期望块的方法,如下例所示.将块分配给变量
NSComparisonResult (^sortByLastCharacter)(id, id) = ^(id obj1, id obj2) {
NSString* s1 = obj1;
NSString* s2 = obj2;
NSString* string1end = [s1 substringFromIndex:[s1 length] - 1];
NSString* string2end = [s2 substringFromIndex:[s2 length] - 1];
return [string1end compare:string2end];
}; …Run Code Online (Sandbox Code Playgroud)