我正在浏览Scott Stevenson维护的精彩博客,我正在尝试理解一个基本的Objective-C概念,即为委托者分配'assign'属性vs'retain'.注意,两者在垃圾收集环境中是相同的.我主要关注的是非基于GC的环境(例如:iPhone).
直接来自Scott的博客:
"assign关键字将生成一个setter,它直接将值赋给实例变量,而不是复制或保留它.这最适用于NSInteger和CGFloat等原始类型,或者你不直接拥有的对象,如委托."
你不直接拥有委托对象是什么意思?我通常会保留我的代表,因为如果我不希望他们离开深渊,保留将为我照顾.我通常抽象UITableViewController远离其各自的dataSource和委托.我也保留那个特定的对象.我想确保它永远不会消失,所以我的UITableView总是有它的代表.
有人可以进一步解释我错在哪里/为什么,所以我可以理解Objective-C 2.0编程中使用委托上的assign属性而不是retain的常见范例吗?
谢谢!
我只看了JetBrains的应用程序代码IDE,它似乎能够启动iOS模拟器并在其中运行应用程序.
当我不得不自动部署我的项目时,我不得不求助于Applescript和GUI自动化.
他们似乎正在使用一种名为"simlauncher"的封闭工具.我想知道它背后的魔力是什么.
更新:
关于模拟器的更多信息来自'ps'的输出:
plumenator 26404 12.9 1.3 290172 52772 ?? SX 8:56PM 0:03.62 /Users/plumenator/Library/Application Support/iPhone Simulator/4.3.2/Applications/817A280D-1F74-4755-B848-B04EC8A24ADA/xxx.app/xxx
plumenator 26395 2.3 0.3 444208 13560 ?? S 8:56PM 0:00.72 /Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone Simulator.app/Contents/MacOS/iPhone Simulator -SessionOnLaunch NO
plumenator 26402 1.4 0.8 318320 33052 ?? Us 8:56PM 0:00.86 /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/System/Library/CoreServices/SpringBoard.app/SpringBoard -SBDisableAutoDim YES -SBAutoLockTime -1 -SBAutoDimTime -1 -SBDontLockAfterCrash YES -SBDidShowReorderText YES -SBFakeBars YES -SBDontAnimateAppleDown YES -SBEnableDoubleHeightToggling YES
plumenator 26406 0.0 0.4 2466496 15792 ?? Ss 8:56PM 0:00.16 /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/libexec/gdb/gdb-i386-apple-darwin --arch …
Run Code Online (Sandbox Code Playgroud) 我知道C字符串是char [],在最后一个元素中带有'\ 0'.但是这些字符是如何编码的?
更新:我发现这个很酷的链接谈论了许多其他编程语言及其编码约定:链接
我看到许多与函数式编程相关的主题都提到了破坏性更新.我知道它与变异类似,所以我理解更新部分.但破坏性的部分是什么?或者我只是过度思考它?
据我所知,没有原生或第三方库可以在iPhone上播放MIDI.但似乎有相当多的应用程序正是这样做的.他们在用什么?有线索吗?
fetch使用的默认提交消息"Automated merge with ...."很长,很丑,并且使用本地目录路径来填充历史记录.我想用简单的"自动合并"或"合并"来替换它.
有getaddrinfo()
阻止主机解析,但是有非阻塞方法吗?
如果是,我们是否还可以获得有关网络配置的其他信息?
一种有用的方法是获取当前网络的SSID.有没有API可以做到这一点?
更新:我在这里发现了一个类似的问题:
"构建和分析"选项似乎不适用于.cpp和.mm文件.我在单个文件上尝试了"clang --analyze"而没有任何标准#includes,它运行良好.但是我无法在我的Xcode项目上运行它.我无法找到一种让clang找到标准#includes的方法,就像UIKit.h一样.有线索吗?