小编rus*_*elf的帖子

NSDateFormatter,我做错了什么或这是一个错误?

我正在尝试以某种格式打印出日期:

NSDate *today = [[NSDate alloc] init];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyyMMddHHmmss"];
NSString *dateStr = [dateFormatter stringFromDate:today];
Run Code Online (Sandbox Code Playgroud)

如果将iPhone设置为24小时,这样可以正常工作,如果另一方面用户已将其设置为24小时时间,然后返回到上午/下午(它可以正常工作,直到您切换此设置)然后它会附加AM/PM尽管我没有要求它:

20080927030337 PM
Run Code Online (Sandbox Code Playgroud)

我做错了什么或这是固件2.1的错误?

编辑1:使描述更清晰

编辑2解决方法:事实证明这是一个错误,修复它我将AM和PM字符设置为"":

[dateFormatter setAMSymbol:@""];
[dateFormatter setPMSymbol:@""];
Run Code Online (Sandbox Code Playgroud)

iphone objective-c nsdate nsdateformatter ios

38
推荐指数
4
解决办法
2万
查看次数

我需要释放xib资源吗?

如果我有一个像UILabel链接到xib文件的东西,我是否需要在我的视图dealloc上发布它?我问的原因是因为我没有分配它,这让我觉得我不需要释放它?例如(在标题中):

IBOutlet UILabel *lblExample;
Run Code Online (Sandbox Code Playgroud)

在实施中:

....
[lblExample setText:@"whatever"];
....

-(void)dealloc{
    [lblExample release];//?????????
}
Run Code Online (Sandbox Code Playgroud)

iphone cocoa-touch objective-c

37
推荐指数
1
解决办法
9152
查看次数

你如何从Swift调用Objective-C可变方法?

假设我在Objective-c中有一个类,其静态方法如下:

+ (NSError *)executeUpdateQuery:(NSString *)query, ...;
Run Code Online (Sandbox Code Playgroud)

我如何从Swift中调用它?自动完成功能无法识别它,编译器对以下内容不满意:

MyClassName.executeUpdateQuery("")
Run Code Online (Sandbox Code Playgroud)

抱怨'MyClassName.Type没有名为executeUpdateQuery的成员'

objective-c variadic-functions swift

34
推荐指数
2
解决办法
9906
查看次数

#import和@class之间的区别是什么,我何时应该使用另一个?

在过去一个月左右的时间里,我一直在教自己Objective-C(我是一名Java负责人),现在我的大脑已经被大部分包围了.有一件事让我感到困惑:通过@class导入一个类与进行#import之间的区别是什么?

一个比另一个好,还是在某些情况下我需要使用一个而不是另一个?到目前为止我一直在使用#import.

cocoa-touch objective-c

30
推荐指数
3
解决办法
9614
查看次数

隐藏ICS返回主页任务切换器按钮

只是想知道如何以编程方式隐藏ICS back/home/etc软件按钮.就像Youtube应用在播放视频时所做的那样.我想在播放视频时隐藏它们,但是如果用户点击屏幕则将其隐藏起来.

我似乎无法在网络上或Google的文档中找到它.

android fullscreen android-4.0-ice-cream-sandwich

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

在Oracle中,'Buffer Gets'实际上指的是什么?

我现在正在处理一个Oracle DBA,他已经给我发了一些他已经完成的分析.他的报告中的一个术语是"缓冲获取",任何想法这实际意味着什么?我的猜测是从缓冲区中检索的字节,但我真的不知道.这是一些示例输出:

  Buffer Gets    Executions  Gets per Exec  %Total Time (s)  Time (s) Hash Value
--------------- ------------ -------------- ------ -------- --------- ----------
    137,948,100       31,495        4,380.0   98.4  6980.57   6873.46 4212400674
Module: JDBC Thin Client
SELECT fieldOne, fieldTwo, fieldThree, fieldFour, fieldFive FROM TableExample
WHERE fieldOne = 'example'
Run Code Online (Sandbox Code Playgroud)

知道'获得每个执行'的含义也是很方便的,因为我猜它们是相关的?我是程序员,但不是DBA.

sql oracle

25
推荐指数
2
解决办法
6万
查看次数

Objective-C中的匿名委托实现?

是否可以在Objective-C中声明Delegates之类的匿名实现.我想我的术语是正确的,但这是一个java示例:

myClass.addListener(new FancyInterfaceListener({
    void onListenerInterestingAction(Action a){
        ....interesting stuff here
    }
});
Run Code Online (Sandbox Code Playgroud)

因此,例如,处理一个UIActionSheet调用我必须声明另一个方法在同一个班,如果我想通过它的数据,这似乎有点傻,因为我必须将这些数据保存为一个全局变量.以下是使用确认对话框删除内容的示例,询问您是否确定:

-(void)deleteItem:(int)indexToDelete{
    UIActionSheet *confirm = [[UIActionSheet alloc] initWithTitle:@"Delete Item?" delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:@"Delete" otherButtonTitles:nil];
    [confirm showInView:self.view];
    [confirm release];
}
Run Code Online (Sandbox Code Playgroud)

和同一类中的UIActionSheetDelegate:

- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{
    if (buttonIndex == 0){
        [[Settings sharedSettings] removeItemAtIndex:/*need index variable here*/];
        [drinksTable reloadData];
    }
}
Run Code Online (Sandbox Code Playgroud)

我想要做的是将其声明为内联,就像我在顶部的java示例中所做的那样.这可能吗?

delegates objective-c anonymous-class

24
推荐指数
1
解决办法
1万
查看次数

你如何从地址簿中获得一个人的电话号码?

我想要做的就是让用户从地址簿中选择一个号码.我在这个问题中找到了代码:

如何从地址簿联系人处获取电话号码(iphone sdk)

ABMultiValueRef container = ABRecordCopyValue(person, property);
CFStringRef contactData = ABMultiValueCopyValueAtIndex(container, identifier);
CFRelease(container);
NSString *contactString = [NSString stringWithString:(NSString *)contactData];
CFRelease(contactData);
Run Code Online (Sandbox Code Playgroud)

问题是在第二行(在3.0设备上运行时)我收到以下错误:

客户经理无法找到标识为MobileMe:rustyshelf的帐户

其次是:

程序接收信号:"EXC_BAD_ACCESS".

这都在picker委托方法中:

- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier{
Run Code Online (Sandbox Code Playgroud)

这只是我的地址簿中的一个联系人,它与Mobile Me同步

编辑:我认为这可能是SDK的一个错误,它发生在我的一些联系人,而不是其他人...

iphone

22
推荐指数
4
解决办法
3万
查看次数

从NSData对象将图像加载到UIWebView的正确方法

我已经将一个gif图像下载到一个NSData对象中(我已经检查了NSData对象的内容并且它已经填充了).现在我想将该图像加载到我的UIWebView中.我尝试过以下方法:

[webView loadData:imageData MIMEType:@"image/gif" textEncodingName:nil baseURL:nil];
Run Code Online (Sandbox Code Playgroud)

但我得到一个空白的UIWebView.直接从同一URL加载图像可以正常工作:

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:imageUrl]];
[imageView loadRequest:request];
Run Code Online (Sandbox Code Playgroud)

我是否需要将textEncodingName设置为某个内容,或者我是否在做其他错误的操作?

我想手动加载图像,以便向用户报告进度,但它是一个动画gif,所以当它完成后我想在UIWebView中显示它.

编辑:也许我需要以某种方式将我的图像包装在HTML中?有没有办法在不必将其保存到磁盘的情况下执行此操作?

iphone uiwebview nsdata

17
推荐指数
2
解决办法
3万
查看次数

CGContext - 有没有办法重置当前上下文

在我的iPhone项目中,我有一个UIView,我在其中实现了drawRect方法:

- (void)drawRect:(CGRect)rect {
    CGContextRef context = UIGraphicsGetCurrentContext();
Run Code Online (Sandbox Code Playgroud)

在方法内部,我使用此上下文进行了大量的线条,图像和文本绘制.问题是,当我重新使用此视图时,上下文不会被重置.是否有一种方法我可以调用以某种方式重置上下文?

iphone cocoa-touch core-graphics

15
推荐指数
1
解决办法
9532
查看次数