
objective-c
文章平均质量分 88
Mamong
这个作者很懒,什么都没留下…
展开
-
2022年ios开发问题记录记录
记录今年iOS开发中自己遇到或替别人解决的问题。原创 2022-09-25 21:29:31 · 4690 阅读 · 0 评论 -
记一次在Tweak中引入Swift framework的过程
最近想在一个插件里打通App和web端,实现通过web控制App,方案是选用socket.io作为服务端和web前端。iOS端socket.io是一个纯swift实现的库。目前Theos对swift的支持还不是很完善,但是完成一般的工作了。Theos现在是支持swift文件编译的。首先我们要来看一下theos仓库中对swift支持的一些介绍。其中Swift Runtime这部分比较关键的,需要按...原创 2020-04-01 18:25:52 · 1133 阅读 · 5 评论 -
Apple现行公开的framework简介
文章目录App Framework(11)AppKitBundle ResourcesFoundationSwiftSwiftUITVMLTVMLKitTVMLKit JSTVUIKitUIKitWatchKitGraphics and Games(24)AGLARKitColorSyncCore AnimationCore GraphicsCore ImageGame ControllerGam...原创 2020-01-08 22:47:44 · 1921 阅读 · 0 评论 -
深入理解iOS API系列(四)理解CNContactPickerDelegate
CNContactPickerDelegate包含五个代理方法。下面分别由易到难解释下:(1)-contactPickerDidCancel:很显然这个是点击右上角的cancel时候触发的,而不是picker的所有dismiss动作中都会触发。在多选模式下,cancel在done的左侧。其他四个代理方法只要实现其中任一一个就行了。分别为单选和多选两组,都实现的时候,多选优先执行,单选不原创 2015-11-04 10:14:09 · 5808 阅读 · 0 评论 -
深入理解iOS API系列(二)UIImage的resizableImageWithCapInsets:resizingMode:
最近在看《programming iOS8》,看到第二章的“可调整大小的images”。实现这个效果的方法我们并不陌生,可以参看MJ的博客http://blog.youkuaiyun.com/q199109106q/article/details/8615661 。当然我们要讨论的不是API的变动,我们更关注UIImageResizingMode的影响。它有两个枚举量UIImageResizingMode原创 2015-04-12 17:30:15 · 4114 阅读 · 0 评论 -
CFNetwork解惑系列(一)是否要在kCFStreamEventHasBytesAvailable时读取所有数据
本次话题来自apple邮件列表《Must you read all you can on kCFStreamEventHasBytesAvailable?》我们知道非block的CFStream一般有两种实现方式,一种是runloop,另一种是polling。在前者中,依靠注册的事件发生时,由runloop调度callback执行相应的工作。对于kCFStreamEventHasByt原创 2015-03-22 08:43:00 · 1598 阅读 · 0 评论 -
小心NSDictionary的initWithObjectsAndKeys
NSDictionary的这个初始化方法还是很常用的,但是要非常小心地使用。因为万一你中途有一个键值对的object为nil的话,字典中只会包含前面几对,后面的都会被干掉。。。原创 2015-02-09 11:50:21 · 2734 阅读 · 0 评论 -
Runloop随手记
Runloop是iOS开发的一个难点,需要不断体会才能真正理解。原创 2014-11-02 16:09:57 · 996 阅读 · 0 评论 -
再说class
CocoaHTTPServer项目中有一句:connectionClass = [HTTPConnection self];原创 2014-10-04 10:35:54 · 769 阅读 · 0 评论 -
浅析NSNetService和NSNetServiceBrowser
这三个的概念不是我们讨论的内容。原创 2014-10-04 19:13:55 · 7240 阅读 · 0 评论 -
应用级通知注意点
最近要做一个应用的国际化。采用了通知的方法来处理。修改应用语言设置sh原创 2014-05-22 14:25:16 · 725 阅读 · 0 评论 -
再谈Objective C中的BOOL类型
解释一个类型,最好的办法就是看看它的定义:#ifdef __vxworkstypedef int BOOL;#else#undef BOOLtypedef unsigned char BOOL;#endif#define YES (BOOL)1#define NO (BOOL)0原创 2014-04-29 12:56:15 · 1450 阅读 · 0 评论 -
深入理解iOS API系列(一) textField:shouldChangeCharactersInRange:replacementString:
主要是深入理解代理方法textField:shouldChangeCharactersInRange:replacementString:的使用。转自http://www.cnblogs.com/Clin/p/3413146.html如果要限制UITextField输入长度最长不超过kMaxLength,那么需要实现做以下操作:1、实现UITextFieldDelegate协议;2、实现textF原创 2015-04-09 20:16:00 · 25833 阅读 · 0 评论 -
使用FTP(IOS FTP客户端开发教程)
本文翻译自新近Wrox出版社出版的,由Peter van de Put所著的《Professional.iOS.Programming》。该书题材比较新颖,结构合理,是一本不错的IOS开发书籍。本文译自该书第八章《Using FTP》。本文开放使用,不局限于转载、修改、增删,引用,请保留出处说明。禁止任何商业用途。欢迎任何修改建议。本章有哪些内容?Ø 理解文件传输协议Ø翻译 2014-02-18 00:15:03 · 31535 阅读 · 9 评论 -
[UIWindow endDisablingInterfaceAutorotationAnimated:] called on UITextEffectsWindow: ...without matc
使用 self.collectionView.keyboardDismissMode = UIScrollViewKeyboardDismissModeInteractive;时,收起键盘时,会报错:[UIWindow endDisablingInterfaceAutorotationAnimated:] called on > without matching -beginDisabl原创 2016-01-29 22:11:02 · 4969 阅读 · 1 评论 -
How can I limit the CPU load and bandwidth when make a video call?
https://groups.google.com/forum/#!topic/discuss-webrtc/VHsprEIQS88I note that I can limit the local video size and frame rate by set these items when create local media stream constrains:转载 2016-01-26 20:35:21 · 1332 阅读 · 0 评论 -
Execute a terminal command from a Cocoa app
http://stackoverflow.com/questions/412562/execute-a-terminal-command-from-a-cocoa-app转载 2016-01-07 22:04:16 · 661 阅读 · 0 评论 -
How to prevent crash when selecting specific contact using AdressBookUI
I'm getting crash on this line. phoneNumber = CFBridgingRelease(ABMultiValueCopyValueAtIndex(numbers, index));If the first phone number is selected I get index of 1 which is wrong. It should b转载 2015-12-23 15:45:35 · 899 阅读 · 0 评论 -
理解NSUserdefaults
首先建议阅读下这篇译文:《第十三章: User Defaut》它把user defaults的功能概括为注册程序的出厂设置,保存用户偏好设置,以及读取之前保存过得用户偏好设置。鉴于本文写得非常到位,就把关键段落摘抄在下方。每个程序有会有一些出厂默认设置. 当用户修改他的defaults时, 只有和出厂默认设置不同的user defaults会存储在user default数据库原创 2015-10-08 21:03:18 · 866 阅读 · 0 评论 -
深入理解iOS API系列(三)UiView事件传递相关函数:pointInside:withEvent:和hittest:withevent:
关于此API的说法网上总说纷纭,可以看看UIView的剖析(管蕾的《iOS8开发指南》第十六章抄袭来源)、hitTest:withEvent:方法流程、为易于理解,模拟UIView的hitTest:方法和pointInside:方法的实现、ios的hitTest方法以及不规则区域内触摸事件处理方法、iOS触摸事件处理等文。本文采信http://blog.chinaunix.net/uid-原创 2015-08-23 19:18:14 · 1206 阅读 · 0 评论 -
avsubtitleWriter demo解析(一):字幕解析
这是苹果官方的subtitleWriter demo的系列教程。目前关于这部分的材料还不是很多,特地分析源码了解下。demo下载地址:https://developer.apple.com/library/mac/samplecode/avsubtitleswriterOSX/Listings/avsubtitleswriter_SubtitlesTextReader_m.html原创 2014-04-11 16:01:31 · 3974 阅读 · 1 评论 -
Mac OS X dev小笔记【最新:issue6 PDF目录解析问题】
How do I make an OS X application react when a file, picture, etc is dropped on its dock icon?http://stackoverflow.com/questions/501079/how-do-i-make-an-os-x-application-react-when-a-file-picture-etc-原创 2014-02-10 00:44:53 · 2748 阅读 · 0 评论 -
objective-c基本数据类型之输出格式符
基本数据类型1. int输出格式符:%i, %d, %o %x, 2. float输出格式符:%f, %e, %g3. double输出格式符:%f, %e, %g 4. char输出格式符:%c限定符:1. longlong int: %lilong double: %Lf形成long int通过在数字后转载 2012-12-04 14:13:29 · 7152 阅读 · 0 评论 -
NSString 常用方法总结
NSString 常用方法总结+(id)stringWithContentsOfFile:path encoding:enc err创建一个新字符串并将其设置为 path 指定文件的内容,使用字符编码 enc,在err 上返回错误+(id)stringWithContentsOfURL:url encoding:enc err创建一个新字符串并将其设置为 u转载 2012-12-04 14:15:53 · 2682 阅读 · 0 评论 -
如何学习Objective-C
1.请先把C语言基础学好;2.看《Programming in Objective-C 2.0》,不要看《Objective-C 2.0程序设计》;3.看《Cocoa Design Patterns》和《Cocoa Programming Developer's Handbook》,不要因为他们很难而我们自己是初学者所以就不看;4.是的,你需要一台Mac,如果你真的打算好好学Objec转载 2012-12-21 21:01:38 · 1718 阅读 · 1 评论 -
[objective-c]—六十六、基础框架(二十四)文件操作-目录操作
下面表格中的措施 适用于NSFileManager这类物件,可以用来进行 目录操作:措施名称描述-(NSString *)currentDirectoryPath获取当前目录的路径-(BOOL)changeCurrentDirectoryPath:path将当前目录的路径更换到path-(BOOL)copyPath:from to转载 2012-11-20 13:30:54 · 2266 阅读 · 0 评论 -
objective c基础知识点打通草稿未完
char 可储存单个字符。将字符放入一对单引号中就能得到字符常量。因此,'a',';'和 '0' 都是合法的字符常量。第一个常量表示字母 a,第二个表示分号,第三个表示字符 0,它并不等同于数字0。不要把字符常量和 C风格的字符串混为一谈,字符常量是放在单引号中的单个字符,而字符串则是放在双引号中的任意个数的字符。前面有 @ 字符并且放在双引号中的字符串是 NSString字符串对象。原创 2012-11-26 23:35:37 · 1246 阅读 · 0 评论 -
关于table view的content mode的个人看法
前不久看《cocoa programming for mac os x》第四版第二十八章web的Lay Out the Interface小节时,看到一句“Ensure that the table view’s Content Mode is set to Cell Based”,然后我照着去做一下,发现找不到content mode这个属性。我的xcode是4.2 for雪豹的。就去网上看看有原创 2012-10-26 21:37:30 · 2480 阅读 · 1 评论 -
【草稿】斯坦福大学ios开发课程解读(三)
本系列不按照课程的安排进行。最后会整理出来,目前只是草稿。每节课的回顾会放到最后再添加。 今天我们要聊一下objective c,今天全部都是objective c。为什么要用properties? 首先,我们要深入讲解一下property。其他语言只有实体变量,property到底是干嘛的?首要的原因是实体变量的安全性和继承能力。如果我们允许被继承,子类要动这些实体变量,我原创 2012-10-12 18:15:58 · 2516 阅读 · 0 评论 -
objective-c 2.0 Mac和iOS开发实践指南 练习(一) 草稿
11.9 练习1.在NSString上编写一个分类方法,用来将字符串种的单词的顺序反向。反向分类方法应该将字符串“dog bites man”变成字符串“man bites dog”,最初的字符串是接受者,并且反向字符串是方法的返回值。编写一个较小的程序来测试---reverseWords。//// NSString+ReverseWords.h// ReverseWo原创 2012-11-21 14:00:33 · 1096 阅读 · 0 评论 -
block的简单使用
今天用到了下面个方法:presentViewController:animated:completion:Presents a view controller.- (void)presentViewController:(UIViewController *)viewControllerToPresent animated:(BOOL)flag completion:(void (原创 2013-01-06 15:37:45 · 1856 阅读 · 0 评论 -
用分类实现前缀后缀添加
我特别喜欢分类,而它的确是处理一些小问题的好帮手,在本例中使用分类来实现给一个NSString添加前后缀的方法。代码简单,就不多说了,可以帮助初学者掌握分类的使用方法。//// NSString+PrefixAndSuffix.h// AddPrefixAndSuffix//// Created by Mamong on 13-1-11.// Copyrigh原创 2013-01-11 14:19:29 · 1539 阅读 · 0 评论 -
集合类的retainCount
真的不要太依赖retainCount。原创 2014-05-05 20:32:48 · 879 阅读 · 0 评论 -
@encode
表 6-1 Objective-C类型编码编码含义cchariintsshortllong在64位程序中,l为32位。qlong long转载 2014-04-19 19:17:27 · 1365 阅读 · 0 评论 -
objective c小贴条(一)
@dynamic详细介绍Objective-C 2.0 中增加了@dynamic 指令,表示变量对应的属性访问器方法,是动态实现的,你需要在NSObject 中继承而来的+(BOOL) resolveInstanceMethod:(SEL) sel 方法中指定动态实现的方法或者函数。 @interface Person : NSObject{ NSString *na转载 2014-03-07 15:07:41 · 2766 阅读 · 0 评论 -
init和dealloc中使用property(accessor)的副作用
本文受Ash Mike的《The complete Friday Q&A:Volume I》的启发所编写。accessor最大的优点是在数据访存安全性的保证,同时还可以完成内存管理功能,对于override的accessor还加入了一些自定义的功能,非常便捷。但是反对者也提出来在init和dealloc中使用accessor所带来的副作用。苹果官方文档也建议不要在这里面使用access原创 2014-02-25 00:02:34 · 1612 阅读 · 0 评论 -
ScriptingBridge开篇
本文只是草稿一、OSX 开发中的appleScript支持在OS X开发中,我们可以使用苹果脚本的,主要是由NSAppleScript的支持,例如退出一个程序,我们可以如下代码实现:NSString* script = [NSString stringWithFormat: @"tell application \"%@\" to quit", appName];NSAppl原创 2014-02-10 00:27:20 · 1746 阅读 · 0 评论 -
hpple使用几个注意点
hpple功能有限,使用的时候要注意一个原则:解析的html需要先截取,xpath路径尽可能短。XPath语法不再赘述,本文的话题是分析得到的一个TFHppleElement数组。对于数组里的某个TFHppleElement可能有如下结构:{ nodeChildArray = ( { nodeContent原创 2014-01-13 20:35:58 · 2490 阅读 · 0 评论 -
objective c和foundation在IOS 7下的新特征
感谢翻译:http://blog.youkuaiyun.com/joywii/article/details/12103327本文是对上文的简要概括。1.Modules(模块)也许你已经写了一千遍#import,也许你已经淡漠了一个事实,虽然它防止了重复导入,但是每个文件都来一句会增加10000多行代码,显然我们还可以更节约。#import #import转载 2014-01-09 22:53:18 · 2723 阅读 · 0 评论 -
objc’s category and class cluster 详解
objective-c有一个feature,可以给已有的类添加方法,而无需改变类名。传统的语言可能需要通过继承或者组合实现,但是obj-c只需要用这个feature就好,这就是category。 Category:举个例子,NSString是一个常用的类,NSString是原生支持unicode,比如NSString* str = @”感谢国家”; 要获得string的length,在转载 2013-12-02 23:35:08 · 950 阅读 · 0 评论