iOS基础知识
文章平均质量分 79
等待化茧成蝶
尽人事,听天命。。。。。。
展开
-
iOS中的可用字体
想单独指定某段文本字体类型,但是sdk文档中似乎没有iphone可用字体列表 ,找到一种方法,可以查看当前sdk可用字体类型执行如下代码NSArray *familyNames = [[NSArray alloc] initWithArray:[UIFont familyNames]]; NSArray *fontNames; NSInteger indFamily, indFon...原创 2015-05-15 17:01:06 · 818 阅读 · 0 评论 -
iOS混编之OC文件中的枚举如何在Swift文件中调用
在OC和Swift混编的过程中有很多的细节需要注意。今天介绍一下在OC文件中声明了一个枚举类型,如何在Swift文件中调用该枚举类型的值。1.项目工程构建的时候选的是Swift语言,项目名称TestProject。2.建立一个Swift文件SwiftTestFile.swift 和一个OC的文件 ObjectTestFile.h 和ObjectTestFile.m。在ObjectT...原创 2019-02-25 20:35:07 · 3107 阅读 · 0 评论 -
UITableView如何让cell的分割线左边不缩进
在ios7中,UITableViewCell左侧会有默认15像素的空白。这时候,设置setSeparatorInset:UIEdgeInsetsZero 能将空白去掉。但是在ios8中,设置setSeparatorInset:UIEdgeInsetsZero 已经不起作用了。可以用以下方法去除左边的默认缩进:1.首先在viewDidLoad方法加入以下代码: if ([self.tableView...原创 2015-04-07 17:05:21 · 1937 阅读 · 0 评论 -
如何检测ScrollView和TableView是处在开始拖动,上移,下移,减速或者停止等状态
这里主要是展现ScrollView的一些代理方法,因为TableView是继承自ScrollView,所以ScrollView的代理方法对于TableView也同样适用;主要作用是,例如我们在视图上有一些控件,需要根据TableView或者ScrollView的状态来选择隐藏或者出现1.//scrollView滚动时,就调用该方法。任何offset值改变都调用该方法。即滚动过程中,调用多次 - ...原创 2015-03-19 17:37:43 · 5853 阅读 · 1 评论 -
iOS面试题总结
@synthesize和@dynamic区别在声明property属性后,有2种实现选择@synthesize编译器期间,让编译器自动生成getter/setter方法,当有自定义的存或取方法时,自定义会屏蔽自动生成该方法。@dynamic告诉编译器,不自动生成getter/setter方法,避免编译期间产生警告,然后由自己实现存取方法或存取方法在运行时动态创建绑定:主要使用在CoreData的实...原创 2015-04-08 17:13:14 · 525 阅读 · 0 评论 -
有关TableView的一些小杂碎(持续更新)
1.隐藏TableView的分割线myTableView.separatorStyle = UITableViewCellSeparatorStyleNone;2.系统默认的cell点击后的颜色设置cell.selectionStyle=UITableViewCellSelectionStyleNone; //无色cell.selectionStyle=UITableViewCellSelect...原创 2015-03-13 12:38:32 · 614 阅读 · 0 评论 -
iOS中Block的简单介绍
Block是C级别的语法和运行时特性。Block比较类似C函数,但是Block比之C函数,其灵活性体现在栈内存、堆内存的引用,我们甚至可以将一个Block作为参数传给其它的函数或者Block。第一部分:Block基本的声明与实现Block声明形式如下:返回值类型(^Block名)(参数列);返回值类型(比如void,int等),Block名即自己为这个Block取得名字,参数列(比如 int a,...原创 2015-03-12 11:54:41 · 507 阅读 · 0 评论 -
内存管理以及Autorelease和自动释放池
今天闲来无事,对OC的内存管理部分做了一下简单的总结,现在基本都是用的Arc,不过了解一下内存管理也没有坏处注:ObjC中的内存管理机制跟C语言中指针的内容是同样重要的,要开发一个程序并不难,但是优秀的程序则更测重于内存管理,它们往往占用内存更少,运行更加流畅。虽然在新版Xcode引入了ARC,但是很多时候它并不能完全解决你的问题。在Xcode中关闭ARC:项目属性—Build Settings-...原创 2016-03-02 10:44:32 · 883 阅读 · 0 评论 -
iOS中的延展和协议
延展部分一、延展的介绍延展也叫Extension,形式和类目相同,是一种特殊形式的类目(匿名类目),主要是为现有类添加私有方法,可以通过建立文件创建延展,也可以直接在现有类的.m中声明延展。延展的声明形式:@interface 现有类名 ()//这里可以声明方法@end二、延展的特点(注意事项)1、如果括号里没有类目名,则认为延展里面的方法为全都必须实现,如果有名,则认为是可选实现。2、虽然延展是...原创 2015-05-14 09:41:35 · 866 阅读 · 0 评论 -
开闭原则与里氏替换原则
1.开闭原则是面向对象设计的基本原则之一,是“可复用设计”的基础,它的主要原则是:对扩展开放,对修改关闭;意思就是我们改变一个软件时。应该通过扩展方式来改变软件,而不是修改原有的代码。2.里氏替换原则里氏替换原则是说,任何基类可以出现的地方,子类一定可以出现(只有当衍生类可以替换基类,软件单位的功能不受到影响,基类才能真正被复用,衍生类也能够在基类的基础上增加新的行为)。下面我们通过建一个项目,简...原创 2015-03-19 14:59:32 · 2908 阅读 · 1 评论 -
便利初始化函数与便利构造器
有时候我们在用到自定义对象时,会先实例化一个对象之后才会对属性进行赋值操作,但是这种做法如果对象的属性太多,复制就显得非常的麻烦,代码也会冗余,这是我们就会用到便利初始化函数和便利构造器了。代码演示:首先建立一个MainViewController(UIViewController)作为根视图和一个学生类Student(NSObject);1.在Student.h中添加两个属性name和age,代...原创 2015-03-20 16:55:19 · 771 阅读 · 1 评论 -
UIViewController和生命周期
UIViewController是iOS顶层视图的载体及控制器,用户与程序界面的交互都是由UIViewController来控制的,UIViewController管理UIView的生命周期及资源的加载与释放,处于MVC模式的C层。UIView与UIWindow共同展示了应用程序的用户界面。可以将UIView理解成画布,UIWindow理解成画框。这两个类的继承关系是这样的:NSObject — ...原创 2015-04-01 10:08:35 · 529 阅读 · 0 评论 -
关于AppDelegate及内部方法的简单介绍
今天来对AppDelegate做一个简单的介绍一、简单介绍AppDelegate是整个应用的一个代理,也类似于整个应用的入口和出口(应用启动的时候最先走到这里,应用关闭的时候最后也会走到这里),AppDelegate实际上是实现了UIApplicationDelegate协议的类。UIApplicationDelegate协议定义了很多和Application状态、消息相关的方法。您可以简单的理解...原创 2015-05-12 11:24:15 · 1646 阅读 · 0 评论 -
iOS中的类目(类别)
一、类目的简单介绍1.什么是类目(类别)类别( category )是 Objective-C 语言的新特性,为现有的类添加新方法的方式。比如系统的类,我们看不到他的.m文件,所以没有办法用直接添加方法的方式去实现,用类目就可以实现在没有类的源代码的条件下为类增加新的方法。通过类目加入的方法会成为原始类的一部分。例如:通过类目想NSString增加方法,编译器会把这些方法加到NSString的定义...原创 2015-05-13 16:26:23 · 1828 阅读 · 0 评论 -
iOS中的自定义通知和通知传值的简单介绍
一、通知通知中心实际上是在程序内部提供了消息广播的一种机制。通知中心不能在进程间进行通信。实际上就是一个二传手,把接收到的消息,根据内部的一个消息转发表,来将消息转发给需要的对象。通知中心是基于观察者模式的,它允许注册、删除观察者。一个NSNotificationCenter可以有许多的通知消息NSNotification,对于每一个NSNotification可以有很多的观察者Observer来...原创 2015-05-15 14:13:03 · 3513 阅读 · 0 评论 -
OC调用Swift以及调用Swift中的方法和变量
之前在开发是遇到了在OC文件中调用Swift对象的变量调用不到的问题,这里总结一下:1.首先我们一个Swift项目TestProject。2.建立一个Swift的文件继承自NSObject名字为SwiftFile.swift,并声明一个字符串变量swiftName。import UIKitclass SwiftFile: NSObject { var swiftName...原创 2019-02-26 14:16:29 · 6243 阅读 · 0 评论