我正在使用ARC专门为iOS 5开发.应该IBOutlets UIView(和子类)是strong或weak?
下列:
@property (nonatomic, weak) IBOutlet UIButton *button;
Run Code Online (Sandbox Code Playgroud)
将摆脱所有这一切:
- (void)viewDidUnload
{
// ...
self.button = nil;
// ...
}
Run Code Online (Sandbox Code Playgroud)
这样做有什么问题吗?模板正在使用strong,当从"Interface Builder"编辑器直接连接到标题时创建的自动生成属性,但为什么?在UIViewController已经有一个strong到其基准view保留其子视图.
cocoa-touch objective-c interface-builder ios automatic-ref-counting
我试图减少目前48MB的iOS应用程序的整体大小.当我分析子文件夹时,我发现Assets.car占用了41MB.我无法打开并看到哪一个占用了那么多空间.
我找不到有关Assets.car文件的任何好文档.有人可以建议如何查看内容吗?
如何从a创建SHA1 NSString.
假设NSString设置为:
NSString *message = @"Message";
Run Code Online (Sandbox Code Playgroud)
我可以使用PHP创建一个SHA1哈希sha($message).但不幸的是,它在Objective-C中并不像那样.
我有一个Person属性的实体personId(personId是唯一的)
如何获取max personId的Person?
(我想取这个人本身而不是财产的价值)
我已经完成了我的作业......一直在这里阅读,文档,谷歌搜索,stackoverflowing ...但是当用户让应用程序进入后台时,仍然没有运气使我的声音棒.
到目前为止我做了什么:在plist文件中添加了UIBackgroundModes,音频.
首先这段代码:
radioAudio = [[AVAudioSession alloc] init];
[radioAudio setCategory:AVAudioSessionCategoryPlayback error:nil];
[radioAudio setActive:YES error:nil];
Run Code Online (Sandbox Code Playgroud)
然后这个:
NSString *radioURL = @"http://xxx.xxx.xxx/radio.m3u";
radioPlayer = [[AVPlayer playerWithURL:[NSURL URLWithString:radioURL]] retain];
Run Code Online (Sandbox Code Playgroud)
但是一旦用户点击主页按钮,我的声音就会消失.
我也找到了这个,但是还没有添加,但是我读过的一些东西说它不需要;
newTaskId = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:NULL];
if (newTaskId != UIBackgroundTaskInvalid && bgTaskId != UIBackgroundTaskInvalid)
[[UIApplication sharedApplication] endBackgroundTask: bgTaskId];
bgTaskId = newTaskId;
Run Code Online (Sandbox Code Playgroud)
现在我不知道我应该去哪里让我的AVPlayer让用户在手机上做其他东西时收听广播.我在带有4.2的iPhone 4上进行测试.构建它为4.0.
任何人有什么建议我应该做什么?
我在哪里可以找到在Xcode 5中运行iOS 7.0的非视网膜iPhone模拟器?
我有以下两个NSString:
NSString *latitudeString, *longitudeString;
latitudeString = @"50.1338";
Run Code Online (Sandbox Code Playgroud)
和
longitudeString = @"8.91583";
Run Code Online (Sandbox Code Playgroud)
我想要获得的是一个NSString,如下所示:50.1338,8.91583.
我如何获得?谢谢
重要提示:我展示的价值仅仅是为了更好地理解,通常latitudeString并且longitudeString具有随机值.
我正在构建一个包含许多视图控制器的应用程序:我有一个UITabBarController容纳4个UINavigationController.我希望所有导航栏都是我的自定义颜色,比如蓝色,我通过在我的app委托中执行此操作来实现:
[[UINavigationBar appearance] setTintColor:[UIColor blueColor]];
Run Code Online (Sandbox Code Playgroud)
但我也有一个特殊的视图控制器,它有一个地图,对于这个视图控制器,我想覆盖蓝色导航栏设置UIAppearance使其成为黑色不透明样式.我试过在里面调用它viewDidLoad:
self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
self.navigationController.navigationBar.translucent = YES;
Run Code Online (Sandbox Code Playgroud)
但没有任何反应.可以这样做还是我必须放弃UIAppearance并navigationBar为每个视图控制器手动设置属性?
我希望解码下面的JSON数据:
{
"content":
[
{
"1":"a",
"2":"b",
"3":"c",
"4":"d",
"mark":"yes"
}
]
}
Run Code Online (Sandbox Code Playgroud)
不确定是否将它放在NSArray或NSDictionary中
欢迎任何评论
我的应用将视频上传到Facebook.即使不耐烦的用户在上传过程中点击"主页"按钮,我也希望在后台完成上传.
经过一番阅读,我试过这个:
UIBackgroundTaskIdentifier bti = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{
[[UIApplication sharedApplication] endBackgroundTask:bti];
}];
[fb requestWithGraphPath:@"me/videos"
andParams:params
andHttpMethod:@"POST"
andDelegate:self];
[[UIApplication sharedApplication] endBackgroundTask:bti];
Run Code Online (Sandbox Code Playgroud)
这项工作是用fb请求方法完成的.视频通过http连接上传到Facebook.这样可以正常工作,但如果您在上传过程中通过单击"主页"按钮来设置应用程序,则会暂停上载.如果您预览应用程序,则会继续上传.
我希望会发生的是上传将在后台完成.
有什么希望让它工作?我是否在整个beginBackgroundTask中做错了什么?以这种方式工作似乎太简单了,但这就是文档似乎所说的.
任何帮助,非常感谢.
- 约翰