`
yangwei0915
  • 浏览: 465345 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

iphone开发常用代码

 
阅读更多

 

//判读对象是否响应某个消息

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常用代码段,适合新手学习使用

    Iphone_开发常用代码

    ### iPhone开发常用代码知识点 #### 一、更改Cell选中背景 在iOS开发过程中,我们经常需要自定义UITableViewCell(单元格)的样式,包括改变选中状态时的背景颜色或图像。下面是一段示例代码: ```objective-c ...

    iPhone常用代码集合

    ### iPhone常用代码集合详解 #### 图片处理代码 在iOS开发中,经常需要对图片进行裁剪或处理。以下代码展示了如何使用`UIImage`和Core Graphics框架中的`CGImageCreateWithImageInRect`函数来获取一张图片的部分...

    ios 开发常用代码

    标题与描述中的“iOS开发常用代码”涉及到的是iOS应用程序开发中的常见编程实践和技术要点,主要聚焦于使用Objective-C或Swift语言进行UIKit框架下的界面元素定制和优化。以下将详细解析和扩展这部分内容所涵盖的...

    iphone开发 入门经典 源代码1

    《iPhone开发入门经典》源代码解析 在移动应用开发领域,iOS平台凭借其优秀的用户体验和庞大的用户基础,一直是开发者关注的焦点。对于初学者来说,掌握iPhone应用开发是开启这一领域的钥匙。本教程将深入探讨...

    iPhone开发常用控件的参考

    在iOS应用开发中,尤其是针对iPhone的开发,掌握常用控件的使用是至关重要的。这些控件构成了用户界面的基础,提供了与用户交互的各种方式。以下是对压缩包内各个PDF文件所对应控件的详细说明: 1. **UIView_Class....

    iphone开发常用库UIKit_Framework

    ### iPhone开发常用库UIKit_Framework知识点解析 #### 一、UIKit Framework概述 - **定义与作用:** `UIKit` 是苹果公司为iOS应用开发提供的一套核心框架,它包含了用于构建用户界面的各种类和方法。通过这个框架...

    iphone开发 程序生成雷电代码

    总结来说,"iphone开发 程序生成雷电代码"涉及到的知识点包括:iOS开发环境(Objective-C/Swift)、图形渲染技术(OpenGL ES/Metal)、动画框架(Core Animation)、随机数与噪声函数的应用、性能优化以及实际项目的...

    iphone开发秘籍完整源代码8-10

    总之,这个压缩包提供的源代码将覆盖了从界面设计、数据处理到系统级功能的多个关键领域,对于想要深入学习iPhone开发的人来说,无疑是一份宝贵的资源。通过分析和实践这些代码,开发者不仅可以巩固理论知识,还能...

    iPhone 游戏 源代码 一

    《深入探索iPhone游戏源代码开发》 在移动设备领域,iPhone游戏开发凭借其优秀的图形表现力和广泛的用户基础,一直是开发者关注的焦点。本资源集合提供了iPhone游戏的源代码,旨在帮助初学者和有经验的开发者更好地...

    搜集iphone开发的6个程序源代码

    这里我们探讨的是一个关于“搜集iPhone开发的6个程序源代码”的主题,这将包括一些已发布的iPhone游戏的源码。这些源代码可以作为学习、理解和优化iOS应用开发的宝贵资源。 首先,我们要明确iPhone开发主要基于...

    iphone 开发的选择测试题

    - **iPhone开发**:这显然指整个iOS应用开发,包括使用Swift或Objective-C编程语言,以及Xcode集成开发环境(IDE)。 - **源代码**:这表明提供的压缩包可能包含了应用的完整源代码,这对于学习者来说是一份宝贵的...

    IOS应用源码之iPhone开发秘笈随书代码.zip

    【标题解析】:“IOS应用源码之iPhone开发秘笈随书代码.zip”这一标题表明了这是一个与iOS应用程序开发相关的资源包,特别是针对iPhone平台。它很可能是某本关于iOS开发书籍的配套代码示例,书名可能为“iPhone开发...

    《iphone3开发基础教程》PDF版本下载.txt

    考虑到iPhone3是指的是较早期的iPhone型号(如iPhone 3G或iPhone 3GS),这本教程可能主要面向的是iOS 3或更早版本的操作系统。因此,在学习时需要注意这些基础知识在现代iOS版本中的适用性。 #### 1.2 描述解读 ...

    iphone开发基础教程(源代码)

    《iPhone开发基础教程》是一本面向初学者的iOS开发指南,源代码的提供旨在帮助读者更深入地理解和实践iOS应用开发。在这个教程中,我们将主要探讨如何使用Apple的Swift编程语言以及Xcode集成开发环境(IDE)来创建...

    iPhone 开发例子2

    在本主题"iPhone 开发例子2"中,我们将深入探讨iPhone应用开发的相关知识,这个压缩包文件包含了2008年11月19日的示例代码,旨在为正在学习iPhone开发的初学者提供实践指导。以下是这些示例可能涵盖的一些关键知识点...

    iphone 开发 xcode 源代码 数据库 database sqlite3 的使用封装函数.

    总之,SQLite3是iPhone开发中常用的数据存储解决方案,通过封装好的类库,我们可以更高效地进行数据库操作。"database.sqlite3"提供的源代码可能就是一个这样的工具,它简化了开发过程,让开发者能更专注于应用的...

    iOS编程揭秘iPhone与iPad应用开发入门教材源代码

    《iOS编程揭秘:iPhone与iPad应用开发入门教材源代码》是一本专为初学者设计的教程,旨在引导读者深入理解并掌握iOS应用开发的核心技术。该书以iOS 6为开发环境,涵盖了从基础概念到高级特性的全方位知识。通过本书...

Global site tag (gtag.js) - Google Analytics