//判读对象是否响应某个消息
if( [Square instancesRespondToSelector: @selector(setSize:)] == YES ) {}
//根据给定的url获取字符串
NSString *jsonString = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncodingerror:&error];
我们在定义一个对象的时候,如果暂时不能给对象赋值,或者将对象的地址作为参数传递到别的方法里面,需要将此对象赋值为nil,这样可以避免"EXC_BAD_ACCESS"错误.
替换字符串
- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement;
分割字符串
- (NSArray *)componentsSeparatedByString:(NSString *)separator;
//创建sqlite数据库,执行查询
NSString *dbName="/db.sqlite";
NSError *error;
NSFileManager *fileManager = [NSFileManagerdefaultManager];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *writableDBPath = [documentsDirectory stringByAppendingString:dbName];
// -- test to see if it exists
BOOL success = [fileManager fileExistsAtPath:writableDBPath];
// -- it not yet create,do it.
if(!success){
NSString *defaultDBPath = [[[NSBundlemainBundle] resourcePath] stringByAppendingString:dbName];
success = [fileManager copyItemAtPath:defaultDBPath toPath:writableDBPath error:&error];
if(!success)
{
Assert(0, "Failed to create writable database file with message '%s'.", [error localizedDescription]);
}
}
//打开数据库
typedefunsigned int uint32;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentDirectory = [paths objectAtIndex:0];
NSString *path = [documentDirectory stringByAppendingString:dbName];
sqlite3 *database;
if(sqlite3_open([path UTF8String], &database) == SQLITE_OK)
{
// Get the primary key
sqlite3_stmt *statement;
constchar *sql = "SELECT id,name,slogan,skips FROM skips WHERE pk=? and desc=?";
if(sqlite3_prepare_v2(database, sql, -1, &statement, NULL) == SQLITE_OK)
{
//绑定查询参数
sqlite3_bind_int(init_statement, 1, key);
sqlite3_bind_text(insert_statement, 2, [sInfo.slogan UTF8String], -1, SQLITE_TRANSIENT);
// -- 循环,执行其他sql也使用这个语句
while(sqlite3_step(statement) == SQLITE_ROW){
//取出int型变量
uint32 stationID = sqlite3_column_int(statement, 0);
//取出字符串
NSString name = [NSString stringWithUTF8String:(char*)sqlite3_column_text(statement, 1)];
}
}
//重置查询语句,可以重新绑定参数
sqlite3_reset(statement);
//清除数据
sqlite3_finalize(statement);
//关闭数据库
sqlite3_close(database);
}
// 插入数据
// -- get the db
sqlite3 *database = [StationPlayerAppDelegateInstance].database;
if(insert_statement == nil)
{
staticchar *sql = "INSERT INTO favorites (id, name, slogan,orderNumber) VALUES (?, ?, ?,?)";
if(sqlite3_prepare_v2(database, sql, -1, &insert_statement, NULL) != SQLITE_OK)
{
Assert(0, "Failed to prepare insert statement for '%s'.", sqlite3_errmsg(database));
}
}
// -- prepare the values
sqlite3_bind_int(insert_statement, 4, sInfo.orderNumber);
sqlite3_bind_text(insert_statement, 3, [sInfo.sloganUTF8String], -1, SQLITE_TRANSIENT);
sqlite3_bind_text(insert_statement, 2, [sInfo.nameUTF8String], -1, SQLITE_TRANSIENT);
sqlite3_bind_int(insert_statement, 1, sInfo.stationID);
int32 success = sqlite3_step(insert_statement);
sqlite3_reset(insert_statement);
if(success != SQLITE_ERROR)
{
// 取回插入数据的主键
sInfo.favoritesPrimaryKey = sqlite3_last_insert_rowid(database);
}
else
{
Assert(0, "Failed to insert into database with message '%s'.", sqlite3_errmsg(database));
}
// 隐藏navigation bar上的返回按钮,设置为自定义的按钮
[self.navigationItemsetHidesBackButton:YES];
UIBarButtonItem *left=[[UIBarButtonItemalloc]initWithTitle:NSLocalizedString(@"Back",@"") style:UIBarButtonItemStyleBorderedtarget:selfaction:@selector(backroot)];
self.navigationItem.leftBarButtonItem=left;
相关推荐
iphone常用代码段,适合新手学习使用
### iPhone开发常用代码知识点 #### 一、更改Cell选中背景 在iOS开发过程中,我们经常需要自定义UITableViewCell(单元格)的样式,包括改变选中状态时的背景颜色或图像。下面是一段示例代码: ```objective-c ...
### iPhone常用代码集合详解 #### 图片处理代码 在iOS开发中,经常需要对图片进行裁剪或处理。以下代码展示了如何使用`UIImage`和Core Graphics框架中的`CGImageCreateWithImageInRect`函数来获取一张图片的部分...
标题与描述中的“iOS开发常用代码”涉及到的是iOS应用程序开发中的常见编程实践和技术要点,主要聚焦于使用Objective-C或Swift语言进行UIKit框架下的界面元素定制和优化。以下将详细解析和扩展这部分内容所涵盖的...
《iPhone开发入门经典》源代码解析 在移动应用开发领域,iOS平台凭借其优秀的用户体验和庞大的用户基础,一直是开发者关注的焦点。对于初学者来说,掌握iPhone应用开发是开启这一领域的钥匙。本教程将深入探讨...
在iOS应用开发中,尤其是针对iPhone的开发,掌握常用控件的使用是至关重要的。这些控件构成了用户界面的基础,提供了与用户交互的各种方式。以下是对压缩包内各个PDF文件所对应控件的详细说明: 1. **UIView_Class....
### iPhone开发常用库UIKit_Framework知识点解析 #### 一、UIKit Framework概述 - **定义与作用:** `UIKit` 是苹果公司为iOS应用开发提供的一套核心框架,它包含了用于构建用户界面的各种类和方法。通过这个框架...
总结来说,"iphone开发 程序生成雷电代码"涉及到的知识点包括:iOS开发环境(Objective-C/Swift)、图形渲染技术(OpenGL ES/Metal)、动画框架(Core Animation)、随机数与噪声函数的应用、性能优化以及实际项目的...
总之,这个压缩包提供的源代码将覆盖了从界面设计、数据处理到系统级功能的多个关键领域,对于想要深入学习iPhone开发的人来说,无疑是一份宝贵的资源。通过分析和实践这些代码,开发者不仅可以巩固理论知识,还能...
《深入探索iPhone游戏源代码开发》 在移动设备领域,iPhone游戏开发凭借其优秀的图形表现力和广泛的用户基础,一直是开发者关注的焦点。本资源集合提供了iPhone游戏的源代码,旨在帮助初学者和有经验的开发者更好地...
这里我们探讨的是一个关于“搜集iPhone开发的6个程序源代码”的主题,这将包括一些已发布的iPhone游戏的源码。这些源代码可以作为学习、理解和优化iOS应用开发的宝贵资源。 首先,我们要明确iPhone开发主要基于...
- **iPhone开发**:这显然指整个iOS应用开发,包括使用Swift或Objective-C编程语言,以及Xcode集成开发环境(IDE)。 - **源代码**:这表明提供的压缩包可能包含了应用的完整源代码,这对于学习者来说是一份宝贵的...
【标题解析】:“IOS应用源码之iPhone开发秘笈随书代码.zip”这一标题表明了这是一个与iOS应用程序开发相关的资源包,特别是针对iPhone平台。它很可能是某本关于iOS开发书籍的配套代码示例,书名可能为“iPhone开发...
考虑到iPhone3是指的是较早期的iPhone型号(如iPhone 3G或iPhone 3GS),这本教程可能主要面向的是iOS 3或更早版本的操作系统。因此,在学习时需要注意这些基础知识在现代iOS版本中的适用性。 #### 1.2 描述解读 ...
《iPhone开发基础教程》是一本面向初学者的iOS开发指南,源代码的提供旨在帮助读者更深入地理解和实践iOS应用开发。在这个教程中,我们将主要探讨如何使用Apple的Swift编程语言以及Xcode集成开发环境(IDE)来创建...
在本主题"iPhone 开发例子2"中,我们将深入探讨iPhone应用开发的相关知识,这个压缩包文件包含了2008年11月19日的示例代码,旨在为正在学习iPhone开发的初学者提供实践指导。以下是这些示例可能涵盖的一些关键知识点...
总之,SQLite3是iPhone开发中常用的数据存储解决方案,通过封装好的类库,我们可以更高效地进行数据库操作。"database.sqlite3"提供的源代码可能就是一个这样的工具,它简化了开发过程,让开发者能更专注于应用的...
《iOS编程揭秘:iPhone与iPad应用开发入门教材源代码》是一本专为初学者设计的教程,旨在引导读者深入理解并掌握iOS应用开发的核心技术。该书以iOS 6为开发环境,涵盖了从基础概念到高级特性的全方位知识。通过本书...