横竖屏:
UIInterfaceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation];
--------
java里的toString()相当于NSObject的-(NSString*)description;
------
addSubView时没置顶:
//CGAffineTransform myTransform = CGAffineTransformMakeTranslation(0.0, -20.0);
//[self.navigationController.view setTransform:myTransform];
-----------
notification机制:
注册:[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(someFunction)
name:@"notificationIdentifier"
object:nil];
发送:[[NSNotificationCenter defaultCenter] postNotificationName:@"notificationIdentifier" object:nil]];
-------
NSObject的Observer机制
可以对任何一个NSObject的某个属性注册一个Observer:
[someNSObject addObserver:self
forKeyPath:@"someProperty"
options:(NSKeyValueObservingOptionNew)
context:NULL];
当someNSObject的someProperty值发生变化时,会自动调用当前类的
- (void)observeValueForKeyPath:(NSString *)keyPath
ofObject:(id)object
change:(NSDictionary *)change
context:(void *)context{}
其中改变后的新值会放在change里面。也可以用NSKeyValueObservingOptionOld使改变前的值放在change里。两者或运算则新值、旧值都放change里
-------
遍历Documents目录:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *directoryPath = [paths objectAtIndex:0];
NSArray *fileNames = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:directoryPath error:nil];
NSMutableArray *filePaths = [NSMutableArray arrayWithCapacity:[fileNames count]];
for (NSString * fileName in fileNames) {
}
后台下载:
downloadRequest = [[ASIHTTPRequest requestWithURL:task.url] retain];
[downloadRequest setShouldContinueWhenAppEntersBackground:YES];
[downloadRequest setShouldAttemptPersistentConnection:YES];
[downloadRequest setDownloadProgressDelegate:self];
[downloadRequest setNumberOfTimesToRetryOnTimeout:2];
[downloadRequest setAllowResumeForFileDownloads:YES];
NSString *savePath = [[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"]
stringByAppendingPathComponent:task.title];
[downloadRequest setTemporaryFileDownloadPath:[savePath stringByAppendingPathExtension:@"download"]];
[downloadRequest setDownloadDestinationPath:savePath];
[downloadRequest setDelegate:self];
[downloadRequest startAsynchronous];
SynthesizeSingleton
#define SYNTHESIZE_SINGLETON_FOR_CLASS(classname) \
\
static classname *shared##classname = nil; \
\
+ (classname *)shared##classname \
{ \
@synchronized(self) \
{ \
if (shared##classname == nil) \
{ \
shared##classname = [[self alloc] init]; \
} \
} \
\
return shared##classname; \
} \
\
+ (id)allocWithZone:(NSZone *)zone \
{ \
@synchronized(self) \
{ \
if (shared##classname == nil) \
{ \
shared##classname = [super allocWithZone:zone]; \
return shared##classname; \
} \
} \
\
return nil; \
} \
\
- (id)copyWithZone:(NSZone *)zone \
{ \
return self; \
} \
\
- (id)retain \
{ \
return self; \
} \
\
- (NSUInteger)retainCount \
{ \
return NSUIntegerMax; \
} \
\
- (oneway void)release \
{ \
} \
\
- (id)autorelease \
{ \
return self; \
}
分享到:
相关推荐
dev-tips是一个开发中常见问题的收集和整理,包含.net,ios,android,开发环境,f_dev-tips
《iOS游戏应用开发实战:深度解析SlavaBushtruk-Alterplay-iOS-dev-tips》 在iOS游戏开发领域,源代码是学习和提升技术的关键资源。本篇将深入探讨"SlavaBushtruk-Alterplay-iOS-dev-tips"这一开源项目,它是由...
《iOS应用源码分析:SlavaBushtruk-Alterplay-iOS-dev-tips》 在iOS开发领域,源码分析是提升技术能力、学习新知识的重要途径。本篇将深入探讨"SlavaBushtruk-Alterplay-iOS-dev-tips"这一开源项目,通过其源码来...
jq用法jq is a lightweight and flexible command-line JSON processor 主页安装ubuntu: sud
nodejs安装nvm安装(推荐)//查看nvm里面nodejs版本//切换nodejs版本//设置默认版本,否则每次关闭终端再打开就要use一次$ nvm a
//下载返回文件流//写入头//此处是关键。
IDE推荐使用sublime安装插件安装主题:1:Package Control 安装 material-theme2:设置 //Activate the th
该软件包的灵感来自Traversy Media和Dev Tips入门套件。 查看入门工具包,它们很棒。 TM: : 开发提示: : 版 1.1.0 安装 安装依赖项(gulp,gulp-sass,gulp-pug,gulp-concat,gulp-imagemin,gulp-uglify,...
谷歌官方发布视频
"dev-career-tips"项目旨在为这些开发者提供宝贵的建议,帮助他们在职业道路上稳步前行。该项目涵盖了项目管理、优秀资源列表、职业指导、职业发展、开发者生产力提升以及职业建议等多个方面,下面将详细阐述这些...
开发提示 记忆从无处消失。 因此,我决定不用记录了,而是依靠记录... 它很小,但是让我们解决它,继续前进,没有任何记录, 快速浏览一下如何解决可能会花费一些时间再次出现的重复开发问题。...
2. **游戏开发流程**(game-dev):理解游戏开发的基本流程,包括设计、策划、建模、动画、编程、测试和发布等步骤,对于构建完整的游戏至关重要。Unity提供了一站式的解决方案,支持整个开发周期。 3. **Unity3D**...
* 禁止 F10 键 Tips:使用 `ribbonControl.Manager.UseF10KeyForMenu = false;` 禁止 F10 键的 Tips。 * DX 按钮 ApplicationIcon 属性改变图标:使用 `ApplicationIcon` 属性改变 DX 按钮的图标。 * evExpress<|end...
:light_bulb: programming.protips.wiki 编程提示集 贡献 捐款非常欢迎! 首先,请克隆并构建存储库: $ git clone <your> && cd programming-...$ yarn dev 添加新的提示 要添加新提示,请使用生成器: $ yarn plop
本篇主要围绕"SwiftTips:Swift提示和技巧"展开,旨在帮助开发者们提升Swift编程的效率和代码质量。 1. **类型推断**:Swift支持强大的类型推断机制,可以自动识别变量或常量的数据类型。例如,`let name = "Alice...
https://github.com/pandas-dev/pandas 也可以在github里下载到这个资源。 . ├── air_quality_long.csv ├── air_quality_no2.csv ├── air_quality_no2_long.csv ...├── tips.csv └── titanic.csv
3. Android Tipshttp://dev.classmethod.jp/smartphone/android/android-tips-51-volley/ 4. Google I/O 2013 – Android : Volley: Easy, Fast Networking for Android ...
Mount 文件系统命令为 `mount /dev/gpfs1`,Umount 文件系统命令为 `umount /dev/gpfs1`。删除文件系统命令为 `mmdelfs mmdelfs gpfs1`。此外,还有 `mmchfs`、`mmlsfs` 等命令用于管理 GPFS 文件系统。 GPFS 的...
Tips >later Main Android中的异步任务机制 Android中AsyncTak的使用与源码分析 Android AsyncTask 完全解析,带你从源码的角度彻底理解 Android 异步消息处理机制完全解析,带你从源码角度彻底理解 Android...