博客专栏  >  移动开发   >  CocoaTouch开发之旅

CocoaTouch开发之旅

和大熊猫猪一起开始CocoaTouch开发之旅

关注
0 已关注
122篇博文
  • Swift减少print函数的耗费

    尽管print声明不会在设备的console里打印,但它们甚至在Release版本和设备上也会执行,这些执行可能会带来一些耗费。特别的,它的参数仍然被模拟求值。如果你的print调用只有一个参数,这里...

    2017-06-14 16:44
    261
  • Nibs真的有必要吗?

    因为nibs本质上只是一系列资源的实例,你可能觉得是否有可能完全不用它们。这些相同的实例可以用代码创建,所以难道不可能完全省掉(nibs)吗?简单的说:可以!完全有可能写一个复杂的app省掉单独的.s...

    2017-06-14 09:11
    307
  • Swift协议合成(protocol composition)

    我们知道类可以同时遵守多个协议,比如:protocol One{ func one(name:String) }protocol Two{ func two(age:Int) }cla...

    2017-06-08 06:19
    398
  • Swift在同一条语句中传递方法结果到方法参数情况的处理

    在相当稀罕的情况下,你想要将一个Cocoa方法的返回值立即传递给相同的方法里去使用.举个栗子,Cocoa有一个UIApplication实例方法:func beginBackgroundTask( ...

    2017-06-03 19:59
    573
  • Swift多defer的执行顺序及特殊情况

    如果在一个代码域中包含多个defer块,它们将按相反顺序执行;你可以把它们想象成一个栈。乍一看defer以相反顺序执行感觉很奇怪,但不管怎样,如果我们看一个实际的例子,就会觉得有道理:guard le...

    2017-06-02 15:48
    339
  • Swift静态和动态分发机制

    Free functions, and methods called on structs, are statically dispatched. This means the function th...

    2017-05-30 08:58
    567
  • 完善一个iOS程序的界面功能:使用StackView以及其他UI元素

    原先的App用于从Github上下载Swift提交信息,然后显示出来。App通过Github暴露出来的API接口返回json信息,然后将其通过CoreData保存到本地数据库中。在最后作者遗留了4个未...

    2017-05-25 15:19
    1036
  • Cocoa使用GameplayKit人工智能影响用户UI的解决

    一个4 IN Row小游戏,改写自Apple官方App的源代码。游戏用iOS9引入的游戏框架GameplayKit实现AI。玩家和电脑轮流下子,当任意一方连成4个同色棋子则宣告胜利,否则当棋盘下满则为...

    2017-05-13 14:49
    285
  • 写入iCloud在模拟器和真机上失败的解决办法

    使用CloudKit将数据写入iCloud时无论是在真机还是模拟器上均出现错误,提示网络连接失败。开发环境为Xcode 8.3.2,iOS版本为10.3.当提示网络错误时可以确认网络是没有问题的。而且...

    2017-05-09 09:12
    598
  • Xcode项目横竖屏切换控件元素无法响应用户操作的原因及解决

    一个简单的iOS游戏,适配横屏和竖屏.但是窗口最底下的switch按钮在竖屏时表现正常,但是在横屏时虽然可以看到,但无法响应用户的点击.在其上绑定用户Action,还是无法触发!因为switch按钮和...

    2017-04-09 09:56
    526
  • Xcode中iOS项目目标变为Mac的解决办法

    之前改过名称的一个项目,目标设备是iPhone,但是在另一台Mac上打开该工程后发现,竟然变为了Mac项目,而且无法编译和运行.解决办法是打开Scheme管理然后在当前Scheme基础上复制一个新的规...

    2017-04-08 19:39
    734
  • Xcode工程项目改名的操作步骤

    大家知道很多时候我们不想重新建立一个Xcode工程,而是想简单拷贝一个已存在的项目然后改个名字再在此基础上做出一些修改.但是只是简单的改变Xcode工程项目的目录的名字还足够,为了编译构建成功,我们还...

    2017-04-08 11:21
    491
  • 控制器的popoverPresentationController的属性到底有啥用?

    我们在编写控制器界面相关的代码时往往能看到popoverPresentationController属性的身影,比如如下代码:func shareTapped(){ let vc = ...

    2017-04-05 15:16
    597
  • CoreData数据验证失败仍然插入context的解决(三)

    在前两篇系列博文中,我们讨论了该问题的几种解决办法.随着对CoreData的深入学习,又发现一个更简单的方法.我们保持原先的创建managedObject方法不变,只是略微修改一下插入的代码就可以了....

    2017-01-10 08:18
    536
  • Mutable Access of To-Many Relationships

    你可能注意到我们从1对多关系中取得的NSSet是不可修改的.增加一个对象到to-many不可修改的关系的NSSet需要创建一个NSSet可修改的副本,然后添加一个新的对象到NSMutableSet中,...

    2017-01-09 14:26
    518
  • Understanding Primitive Access

    这里应该注意到通过KVC访问特性(attribute)或者属性(properties)将会触发KVO通知,当发生改变的时候.在某些情况下我们不希望它发生或希望它迟点发生.此时,我们可以通过-primi...

    2017-01-09 11:22
    417
  • CoreData数据验证失败仍然插入context的解决(二)

    在之前的一篇 博文 里我们给出了两种解决办法: 第一种方法预先不指定context,在实际插入时在指定 第二种方法是在验证失败时重置context中的内容 其实CoreData自身还提供了另一种方法,...

    2017-01-06 14:13
    517
  • CoreData应用UI活动指示器不显示的解决

    一只简单的CoreData应用,UI界面左上角按钮触发一段耗时的代码,App本意是在执行耗时代码时将按钮暂时变为一个活动指示器,等到代码运行完毕再恢复原来的按钮.但是App运行时活动指示器从未显示过!...

    2017-01-06 08:23
    617
  • CoreData数据验证失败仍然插入context的解决(一)

    CoreData对于data manager对象提供了数据验证的机制,只有验证成功才可以插入底层的持久存储,参考如下代码:if let ks = NSManagedObject(entity: ent...

    2017-01-01 16:17
    321
  • Swift3.0 CoreData Fetch语法的一些改变

    在Swift 3.0之前,我们可以这样fetch数据: var people = [NSManageObject]()//1 let fetchRequest = NSFetchRequest(ent...

    2016-12-20 12:34
    840
img博客搬家
img撰写博客
img专家申请
img意见反馈
img返回顶部