Core Data中的To-Many关系由NSSet表示(通过使用Editor ... Create NSManagedObject Subclass ..菜单自动生成).
哪种迭代NSSet*最有效?
NSSet* groups = [contact groups];
for(Group* group in groups) {
NSString* groupName = [group name];
}
Run Code Online (Sandbox Code Playgroud)
要么
NSSet* groups2 = [contact groups];
NSArray* groupsArray = [groups2 allObjects];
for(Group* group in groupsArray) {
NSString* groupName = [group name];
}
Run Code Online (Sandbox Code Playgroud)
或另一种方式?
如何检查UIViewController
当前是否正在显示?
我UIViewControllers
正在倾听NSNotifications
- 即使它们没有显示(即未显示).所以,我可以有10个UIViewController
在背景中观察NSNotifications
的NSNotificationCenter
.当a NSNotification
发布和接收时UIViewController
,我想知道它是否正在显示.如果不是,我将设置一个布尔值,以便在显示视图时处理它.如果它当前正在显示,我会做更多的事情,比如立即更新表,等等......
objective-c uiviewcontroller nsnotification nsnotificationcenter ios
是否有适用于Android开发的iOS Storyboard?
iOS Storyboard非常棒,为我们节省了大量编写代码的时间.它几乎就像最终开发的直接线框/原型.
Android开发上可以执行相同操作的任何内容吗?
有什么方法可以简化这个:
var unloadedImagesRows = [String:[Int]]()
private func addToUnloadedImagesRow(row: Int, forLocation:String!) {
if unloadedImagesRows[forLocation] == nil {
unloadedImagesRows[forLocation] = [Int]()
}
unloadedImagesRows[forLocation]!.append(row)
}
Run Code Online (Sandbox Code Playgroud)
Swift是否有一种简单的方法可以检查nil
,如果是,则创建一个新对象,所有后续使用都引用该对象?
我有一个 Codable 类:
class Task: Codable {
var name: String
}
Run Code Online (Sandbox Code Playgroud)
当我尝试实例化它时:
let newTask = Task()
allTasks.append(newTask)
Run Code Online (Sandbox Code Playgroud)
它给了我错误:
调用中缺少参数“from”的参数
我想要的只是将一个新对象(newTask)插入到一个数组中。什么是最简单的方法来做到这一点?
假设我们正在设计一个新系统,并决定使用MongoDB作为主数据库.数据模式与具有[增长]评论的博客非常相似.
在"MongoDB Developers"一书中,提示#6:不要嵌入具有未绑定增长的字段,它表示不断将数据附加到数组的末尾是有效的(但它也暗示评论是一个"奇怪的边缘情况") ).
假设我们的新系统就像博客中的那些"评论" - 一直在动态增长,但有时也在变化,或者有些被删除.
因此,在认识到使用MongoDB可能存在性能问题之后,还有什么其他替代数据库(必须是水平可伸缩数据库)才能实现此目的?(我们不介意使用MongoDB作为我们的主数据库,而是将"注释"与备用数据库分开.有哪些选项?
笔记:
将Hashes作为其数据类型的Redis功能符合我们的"注释"数据结构的描述 - 不断增长但有时被修改或删除 - 但我们不需要纯粹的内存数据库(我们不希望如此奉献当数据可以持久保存到磁盘时RAM - 否则这将非常适合我们的问题
那么使用CouchDB呢?我们没有对此产品进行调查.它如何通过不断增长的数据结构来执行?
Objective-C块总是在一个单独的线程中执行吗?
具体来说,我问的是NSURLConnection类的sendAsynchronousRequest:queue:completionHandler方法.这是场景:
主线程(第1个线程)调用sendAsynchronousRequest方法,在第二个线程上执行sendAsynchronousRequest,当方法完成时由NSOperationQueue管理并调用commpletionHandler,它执行哪个线程?第二个线程?又是第三个线程?还是第一个帖子?
谢谢!
multithreading block objective-c grand-central-dispatch sendasynchronousrequest
我看到Clang 3.0端口包含Objective-C作为开发语言,此外,我还发现这个端口"libobjc2-1.6"(替换Objective-C运行时支持Obj-C 2功能)和"ofc-0.8.1_5" (Objective-C基础类库).
假设我们正在考虑在FreeBSD上使用Objective-C来开发基于Web的应用程序(与使用Java并在Tomcat/Glassfish上运行它相比),我们如何处理它?
Objective-C开发实际上是否适用于FreeBSD(9.0)?
下载和安装的内容(框架/库)是什么?
什么IDE?
正如我所提到的,假设我们打算开发一个Web应用程序,什么是库?/ libraries(我们还看到有"GNUstepWeb" - WebObjects的继承者 - 这是我们应该考虑的Web库吗?这只是一个吗? - 那么其他选择呢?此外,GNUstep/GNUstepWeb可以在Clang 3.0下编译还是使用上面提到的那些Objective-C端口("libobjc2-1.6"和"ofc-0.8.1_5")?这些端口是否相关?
有没有人使用Objective-C在FreeBSD上成功完成Web应用程序项目开发(并部署在FreeBSD上)?
注意:基于Web的应用程序意味着它接受HTTP(RESTful)调用并与数据库进行对话(对于传统和/或NoSQL数据库).
比如,如果我想使用MongoDB的GridFS存储PDF或ePub文件,是否可以对数据文件执行全文搜索?
在iPhone应用程序中记录错误/事件的最佳做法是什么?我不是在谈论调试,而是在应用程序发布后.我的意思是,当应用程序以发布模式(非调试模式)运行时,我想收集错误/事件日志.(如果需要,我可以要求用户自愿将文件发送到我的服务器进行分析.)
(如果NSLog没有在调试中运行,它会有什么影响吗?如果是这样,它写在哪里?并且,如何以编程方式清除任何内容?)
ios ×4
objective-c ×4
iphone ×3
mongodb ×2
nosql ×2
swift ×2
android ×1
binary-data ×1
binaryfiles ×1
block ×1
clang ×1
cocoa ×1
codable ×1
freebsd ×1
gnustep ×1
performance ×1
redis ×1
storyboard ×1