文档章节

IOS笔记篇二

E
 Emiya锦
发布于 2016/01/04 12:26
字数 1669
阅读 8
收藏 0

    NSMutableString *str = [[NSMutableString alloc]initWithString:_str];

    //这两个是汉语转拼音的代码,为了取用汉字输入姓名的首字母用的(表明下面两行缺一不可

    //其中kCFStringTransformStripDiacritics是去掉声调的方法,按照说明应该返回的是不带声调的拼音,但是我现在仍然是中文,请问哪里出了问题

    //原来需要多写一行CFStringTransform((__bridge CFMutableStringRef)source, NULL, kCFStringTransformStripDiacritics, NO);只有一行不行。。。

    CFStringTransform((__bridge CFMutableStringRef)str, 0, kCFStringTransformMandarinLatin, NO);

    CFStringTransform((__bridge CFMutableStringRef)str, 0, kCFStringTransformStripDiacritics, NO);

CFStringTransform

iOSCoreFoundation中提供了CFStringTransform函数,但在Foundation中却没有相对应的方法。它的定义如下:

Boolean CFStringTransform(CFMutableStringRef string, CFRange *range, CFStringRef transform, Boolean reverse);

其中string参数是要转换的string,比如要转换的中文,同时它是mutable的,因此也直接作为最终转换后的字符串。range是要转换的范围,同时输出转换后改变的范围,如果为NULL,视为全部转换。transform可以指定要进行什么样的转换,这里可以指定多种语言的拼写转换。reverse指定该转换是否必须是可逆向转换的。如果转换成功就返回true,否则返回false

如果要进行汉字到拼音的转换,我们只需要将transform设定为kCFStringTransformMandarinLatin或者kCFStringTransformToLatinkCFStringTransformToLatin也可适用于非汉字字符串):

CFMutableStringRef string = CFStringCreateMutableCopy(NULL, 0, CFSTR("中国"));

CFStringTransform(string, NULL, kCFStringTransformMandarinLatin, NO);

NSLog(@"%@", string);

这段代码将输出:

2013-11-22 14:41:14.644 Test[2436:907] zhōng guó

可以看出,CFStringTransform正确的输出了中国的拼音,而且还带上了音标。有时候我们不需要音标怎么办?还好CFStringTransform同时提供了将音标字母转换为普通字母的方法kCFStringTransformStripDiacritics。我们在上面的代码基础上再加上这个:

CFStringTransform(string, NULL, kCFStringTransformStripDiacritics, NO);

NSLog(@"%@", string);

那么最终将输出:

2013-11-22 14:47:00.380 Test[2470:907] zhong guo


tableviewcell:

1.1

UITableViewCellSelectionStyleNone,—-选中表格单元后,没有颜色显示

UITableViewCellSelectionStyleBlue,—-点击显示蓝色

UITableViewCellSelectionStyleGray,—点击显示灰色(一般默认)

1.2

xib中有个bounce,就是其中的弹簧效果,点击xibtableview,找到bounce,打勾的全部去掉后就没有拉动表格一弹一弹的效果了(这个估计scrollview也有弹簧效果)

xib:

在这里面,如果在xib里直接拖入navigationcontroller的话, 是直接报错的

怎么办呢??在navigationcontroller里面拖一个uiview,把它原本的 rootviewcontroller给删了,用此替代

第二个注意的就是file owner'soutlet里面有没有window,这类的控件了,不然直接爆崩

第三个注意的,就是删除了一些文件之后,我就在xib仅拖入uiwindow,还是直接报崩的(file's owner custom class做好的前提下)

所以针对第三个,就是设置好它的rootviewcontroller,self.windowframe之后再运行,这可能是xcode 7.0 beta的一点问题

delegate

/**

 代理三大注意

 1.尽量模仿官方写代理的写法,减少沟通成本(命名类,实力方法的时候也尽量如此)

 2.一般用optional,不一定要必须调用

 3.根据2,要判断delegate有没有派上用场,[self resonseletor.....]这个方法

 **/




3.常见错误

setValue:forUndefinedKey:]: this class is not key value coding

错误原因是:连线出问题了


4.Xcode5开始的一些建议

把用于连线的一些方法和属性声明在.m文件的类扩展中


5.frame\center\bounds

1> frame:能修改位置和尺寸

2> center:能修改位置

3> bounds:能修改尺寸(x\y一般都是0)


6.MainViewController zero]: unrecognized selector sent to instance 0x7fd94a60b510

就是addtarget的时候,没有写方法。




1.NSBundle

1> 一个NSBundle代表一个文件夹,利用NSBundle能访问对应的文件夹

2> 利用mainBundle就可以访问软件资源包中的任何资源

3> 模拟器应用程序的安装路径

/Users/aplle/资源库/Application Support/iPhone Simulator/7.1/Applications


2.UIImageViewUIButton

1> 使用场合

* UIImageView: 如果仅仅是显示图片,不需要监听图片的点击

* UIButton: 既要显示图片,又要监听图片的点击


2> 相同:能显示图片


3> 不同点

* UIButton能处理点击事件, UIImageView不能处理点击事件

* UIButton既能显示图片, 又能显示文字

* UIButton能同时显示两张图片

* UIButton继承自UIControl, 因此默认就能处理事件

* UIImageView继承自UIView, 因此默认就不能处理事件


3.Xcode文档安装路径

/Applications/Xcode.app/Contents/Developer/Documentation/DocSets


4.Xcode模拟器安装路径

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs



1.Xcode自带头文件的路径

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.1.sdk/System/Library/Frameworks/UIKit.framework/Headers


2.修改了系统自带头文件后,Xcode会报错

解决方案:删掉下面文件夹的缓存即可(aplle是电脑的用户名)

/Users/aplle/资源库/Developer/Xcode/DerivedData

或者

/Users/aplle/Library/Developer/Xcode/DerivedData


3.使用xib封装一个自定义view的步骤

1> 新建一个继承UIView的自定义view,假设类名叫做(MJAppView)

2> 新建一个MJAppView.xib文件来描述MJAppView内部的结构

3> 修改UIView的类型为MJAppView真是类型

4> 将内部的子控件跟MJAppView进行属性连线

5> MJAppView提供一个模型属性

6> 重写模型属性的set方法,因为在set方法中可以拿到外界传递的模型数据

7> 把模型数据拆开,分别设置数据到对应的子控件中

8> 补充:提供一个创建MJAppView的类方法,将读取xib文件的代码屏蔽起来


scrollview

contentSizescrollview可以滚动的区域,表示你可以滚多远,比如frame = (0 ,0 ,320 ,480) contentSize = (320 ,960),代表你的scrollview可以上下滚动,滚动区域为frame大小的两倍。

contentOffsetscrollview当前显示区域顶点相对于frame顶点的偏移量,比如上个例子你拉到最下面,contentoffset就是(0 ,480),也就是y偏移了480,要是(640,480)的话,那就是向x偏移了320

contentInsetscrollviewcontentview的顶点相对于scrollview的位置,例如你的contentInset = (0 ,100),那么你的contentview就是从scrollview(0 ,100)开始显示



StoryBoard

1.按eiditembed in(嵌入)也可以加入一个故事版

2.模态方式进入下个视图的话,是没有导航栏的(针对按钮present modally)

3.进栈的话,就有个导航栏(针对按钮show)



重写机制

目前我所知的。就是如果某个类有其他类继承,还要用他的属性,有他自己的特性之处,那很可能就要重写某部分类了


© 著作权归作者所有

E
粉丝 0
博文 5
码字总数 4393
作品 0
程序员
私信 提问
Core Data 学习笔记 常用链接整理

目录 Core Data 学习笔记(一)框架简介 Core Data 学习笔记(二)被管理对象模型 Core Data 学习笔记(三)被管理对象 Core Data 学习笔记 应用示例 Core Data 学习笔记 常用链接整理 文章 ...

灰大羊
2015/07/31
0
0
iOS逆向与安全(一):环境搭建

前言 从本篇文章开始,笔者会整理iOS逆向相关的笔记。作为一位新人,希望通过整理笔记能够更好的理解和掌握知识。作为新人能力有限,在行文时难免出现错误欢迎批评和指正。 前期准备 一台越狱...

紫电清霜Owenli
2018/09/16
0
0
开源高仿印象笔记的iOS应用——朝夕笔记(Oncenote)

这是一款类似于印象笔记Evernote的生活类iOS应用——朝夕笔记 Oncenote。我希望能为更多的iOS开发者提供帮助与服务。当然App中还有不少bug和可扩展的功能模块,也希望各位开发者为该项目贡献...

503434355
2015/11/23
3.1K
1
一篇文章get微信开源移动端数据库组件WCDB的一切!

1、前言 微信团队已于2017年06月09日正式开源了微信自用的移动端数据库组件 WCDB(WeChat Database),详见《[资讯] 微信正式开源移动端数据库组件WCDB!》。 WCDB是微信终端的第三个开源项目...

jsjsjjs
2017/07/22
0
0
唐巧专访:用 HTML5 写移动应用终究不会成为主流

小编语 本文为 DevLink 专访系列,本期采访嘉宾是 iDev 苹果开发者大会特约出品人、小猿搜题产品技术负责人——唐巧。在参加 iDev 苹果开发者大会前夕,这位资深 iOS 开发者接受了 DevLink ...

DevLink
2016/10/13
270
0

没有更多内容

加载失败,请刷新页面

加载更多

Angular 英雄编辑器

应用程序现在有了基本的标题。 接下来你要创建一个新的组件来显示英雄信息并且把这个组件放到应用程序的外壳里去。 创建英雄组件 使用 Angular CLI 创建一个名为 heroes 的新组件。 ng gener...

honeymoose
今天
4
0
Kernel DMA

为什么会有DMA(直接内存访问)?我们知道通常情况下,内存数据跟外设之间的通信是通过cpu来传递的。cpu运行io指令将数据从内存拷贝到外设的io端口,或者从外设的io端口拷贝到内存。由于外设...

yepanl
今天
6
0
hive

一、hive的定义: Hive是一个SQL解析引擎,将SQL语句转译成MR Job,然后再在Hadoop平台上运行,达到快速开发的目的 Hive中的表是纯逻辑表,就只是表的定义,即表的元数据。本质就是Hadoop的目...

霉男纸
今天
3
0
二、Spring Cloud—Eureka(Greenwich.SR1)

注:本系列文章所用工具及版本如下:开发工具(IDEA 2018.3.5),Spring Boot(2.1.3.RELEASE),Spring Cloud(Greenwich.SR1),Maven(3.6.0),JDK(1.8) Eureka: Eureka是Netflix开发...

倪伟伟
昨天
13
0
eclipse常用插件

amaterasUML https://takezoe.github.io/amateras-update-site/ https://github.com/takezoe/amateras-modeler modelGoon https://www.cnblogs.com/aademeng/articles/6890266.html......

大头鬼_yc
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部