小编Hon*_*ney的帖子

UIStackView可以滚动吗?

假设我在UIStackView中添加了更多可以显示的视图,如何制作UIStackView滚动?

uiscrollview ios uistackview

174
推荐指数
9
解决办法
8万
查看次数

检测是否通过推送通知启动/打开了应用程序

是否可以知道应用程序是否通过推送通知启动/打开?

我猜这个发布活动可以在这里找到:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    if (launchOptions != nil) {
         // Launched from push notification
         NSDictionary *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];

    }
}
Run Code Online (Sandbox Code Playgroud)

但是,当应用程序处于后台时,如何检测到它是从推送通知中打开的?

push-notification apple-push-notifications uiapplicationdelegate ios ios6

162
推荐指数
10
解决办法
11万
查看次数

UIViewController viewDidLoad vs. viewWillAppear:什么是适当的分工?

我一直对应分配给的任务类型有点不清楚viewDidLoad对比viewWillAppear:在一个UIViewController子类.

例如,我正在做一个应用程序,我有一个UIViewController子类命中服务器,获取数据,将其提供给视图,然后显示该视图.什么是这样做的利弊viewDidLoad对比viewWillAppear

uiviewcontroller viewdidload viewwillappear ios

160
推荐指数
4
解决办法
10万
查看次数

如何在OSX上编辑$ PATH(.bash_profile)?

我正在尝试编辑PATH的一个条目,因为我做错了.

我使用的是Mac OS X 10.10.3

我试过了:

> touch ~/.bash_profile; open ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)

但文件编辑器打开时没有任何内容.

我的问题:

我正在尝试将ANDROID_HOME安装到我的PATH

我把它拼错了,但是当我关闭终端然后回去时它已经不见了,所以我再试一次:

export ANDROID_HOME=/<installation location>/android-sdk-macosx
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
Run Code Online (Sandbox Code Playgroud)

这次,我正确输入了命令但是,当我关闭终端时,我的设置再次消失.

如何执行我想要的设置?

如果我要编辑bash.profile,我该如何输入上面的代码?

谢谢!

macos bash terminal path osx-yosemite

151
推荐指数
8
解决办法
48万
查看次数

iPhone - Grand Central Dispatch主线程

我一直在使用我的应用程序中的成功,宏大的中央调度,但我想知道使用这样的东西的真正优势是什么:

dispatch_async(dispatch_get_main_queue(), ^{ ... do stuff
Run Code Online (Sandbox Code Playgroud)

甚至

dispatch_sync(dispatch_get_main_queue(), ^{ ... do stuff
Run Code Online (Sandbox Code Playgroud)

我的意思是,在这两种情况下,你都要触发一个块来在主线程上执行,确切地说应用程序在哪里运行,这无助于减少负载.在第一种情况下,当块运行时,您没有任何控制权.我已经看到在你开火后半秒执行块的情况.第二种情况,它类似于

[self doStuff];
Run Code Online (Sandbox Code Playgroud)

对?

我想知道你们的想法是什么.

concurrency grand-central-dispatch ios dispatch-async

145
推荐指数
5
解决办法
14万
查看次数

138
推荐指数
3
解决办法
9万
查看次数

IOS:验证一个点是否在矩形内

有没有办法验证a CGPoint是否在特定内部CGRect.例如:我正在拖动一个UIImageView,我想验证它的中心点CGPoint是否在另一个内部UIImageView我该怎么办?

collision-detection uiview cgpoint ios cgrect

138
推荐指数
5
解决办法
10万
查看次数

什么是缓存控制:私有?

当我访问chesseng.herokuapp.com时,我得到一个看起来像的响应头

Cache-Control:private
Connection:keep-alive
Content-Encoding:gzip
Content-Type:text/css
Date:Tue, 16 Oct 2012 06:37:53 GMT
Last-Modified:Tue, 16 Oct 2012 03:13:38 GMT
Status:200 OK
transfer-encoding:chunked
Vary:Accept-Encoding
X-Rack-Cache:miss
Run Code Online (Sandbox Code Playgroud)

然后我刷新页面然后得到

Cache-Control:private
Connection:keep-alive
Date:Tue, 16 Oct 2012 06:20:49 GMT
Status:304 Not Modified
X-Rack-Cache:miss
Run Code Online (Sandbox Code Playgroud)

所以看起来缓存工作正常.如果它适用于缓存,则ExpiresCache-Control的重点是:max-age.更令人困惑的是,当我在https://developers.google.com/speed/pagespeed/insights/上测试该页面时,它告诉我"利用浏览器缓存".

caching http cache-control browser-cache http-headers

138
推荐指数
3
解决办法
11万
查看次数

如何将类类型作为函数参数传递

我有一个泛型函数调用Web服务并将JSON响应序列化回一个对象.

class func invokeService<T>(service: String, withParams params: Dictionary<String, String>, returningClass: AnyClass, completionHandler handler: ((T) -> ())) {

            /* Construct the URL, call the service and parse the response */
}
Run Code Online (Sandbox Code Playgroud)

我想要完成的是相当于这个Java代码

public <T> T invokeService(final String serviceURLSuffix, final Map<String, String> params,
                               final Class<T> classTypeToReturn) {
}
Run Code Online (Sandbox Code Playgroud)
  • 我的方法签名是我正在努力完成的吗?
  • 更具体地说,指定AnyClass作为参数类型正确的事情?
  • 在调用方法时,我将MyObject.self作为returnsClass值传递,但是我收到编译错误"无法将表达式的类型'()'转换为'String'"
CastDAO.invokeService("test", withParams: ["test" : "test"], returningClass: CityInfo.self) { cityInfo in /*...*/

}
Run Code Online (Sandbox Code Playgroud)

编辑:

我尝试使用object_getClass,如holex所提到的,但现在我得到:

错误:"类型'CityInfo.Type'不符合协议'AnyObject'"

需要做什么才能符合协议?

class CityInfo : NSObject {

    var cityName: String? …
Run Code Online (Sandbox Code Playgroud)

generics type-inference swift

136
推荐指数
3
解决办法
8万
查看次数

diff文件的当前工作副本与另一个分支的已提交副本

foo在master分支中有一个repo文件.我切换到酒吧分支并进行了一些更改foo.我现在如何git diff在此副本(尚未提交)和主分支副本之间运行?

git

135
推荐指数
7
解决办法
9万
查看次数