小编Vik*_*ica的帖子

删除用户区域设置的年份格式

我想显示与用户设备的区域设置相关的日期和月份.

因此,今天的日期将显示为美国设置的5/1818.5.与德国设置.
因为我想处理每个可能的区域设置,我只是简单地使用[dateFormatter setDateFormat:][dateFormatter setDateStyle:NSDateFormatterShortStyle]将显示年份.

除了尝试识别字符串中的年份值并将其删除之外,还有更优雅的方法吗?

cocoa-touch localization objective-c nsdateformatter ios

3
推荐指数
1
解决办法
890
查看次数

如何从类的实例调用方法?

-(NSDictionary *)properties;
+(NSDictionary *)ClassProperties;
Run Code Online (Sandbox Code Playgroud)

现在,我如何从子类调用ClassProperties?

-(NSDictionary *)properties {
    return [? ClassProperties];
}
Run Code Online (Sandbox Code Playgroud)

关键是ClassProperties获取类中的属性列表,因此我无法调用基类定义.

objective-c

2
推荐指数
1
解决办法
412
查看次数

有关为图表创建自定义视图布局的提示

我需要创建一个算法来布局一些分层数据,但之前从未做过这种事情,需要一些广泛的提示.

基本上我需要重新创建此图表(使用动态数据):

图http://dl.dropbox.com/u/15126868/diagram.png
更大

我对它的大部分都没有问题,但需要帮助两件事:

  1. 如何编写布局算法?
  2. 我应该为所有光盘使用UIView子类还是使用石英(我需要交互)

任何建议最受欢迎.我不需要太多细节.


更详细一点:

我目前正在考虑我应该使用UIView子类和layoutSubviews.麻烦的是我需要知道所有节点的大小(至少大致)才能开始定位它们.然后,由于定位涉及旋转,我可能需要再次调整儿童定位 - 我不能在任何旋转之后添加标签.

其他考虑似乎是:表示区域是矩形,而不是正方形; 我无法从页面上溢出; 并且我需要动画更改光盘的大小.

任何指针都会很棒,谢谢.

iphone cocoa-touch core-graphics

2
推荐指数
1
解决办法
178
查看次数

在PHP驱动的站点中编写Django(Python)

我有一个客户端,他有一个用PHP明确编写的课程管理在线工具.

他聘请我在网站上做一些工作.工作是什么我还不清楚,但我认为它将成为现有网站的插件,不需要对现有PHP代码进行任何修改.

由于我对Django更熟悉,我计划在Django中编写这些新插件并将其与PHP集成.

这是明智之举还是会在可预见的未来引发问题.代码是否仍然可以被未来的开发人员管理,以及它在Apache服务器上会有什么压力(资源方面)?

我有其他选择

  1. 在PHP中添加插件(不太了解php)
  2. 完全重做django中的网站(不要以为客户会为此付费)

感谢您的输入

php django

2
推荐指数
1
解决办法
143
查看次数

调用superview的viewwillappear是什么意思?

-(void)viewwillAppear
{
[super viewwillAppear:animated];
}
Run Code Online (Sandbox Code Playgroud)

[super viewwillAppear:animated]如果我们不打电话,它的意思是什么?

iphone cocoa-touch objective-c

2
推荐指数
1
解决办法
2072
查看次数

Objective C中的日期格式(iOS SDK)

希望你能帮忙.我正在导入iPhone App的当前GMT时间.这是通过JSON Web服务检索的.

我相信我有正确的格式化程序字符串,但是当我尝试格式化我检索的日期时,我得到一个不同的日期(时间仍然正确).JSON日期的格式如下:Sun,2011年5月15日20:35:31 +0000

在下面的示例中,strGMT是我刚刚提到的格式的日期.

这是我用来将检索日期存入我的代码的代码:

NSLog(@"Current GMT: %@", strGMT);
NSDateFormatter *gmtFormatter=[[NSDateFormatter alloc] init];
[gmtFormatter setDateFormat:@"EEE, dd MMM YYYY HH:mm:ss VVVV"];
//THIS IS NOT REFORMATTING CORRECTLY HERE
NSDate *gmtDateTime=[gmtFormatter dateFromString:strGMT];
NSLog(@"Current Formatted GMT Date: %@", gmtDateTime);
Run Code Online (Sandbox Code Playgroud)

日志显示以下内容:

目前GMT:太阳,2011年5月15日20:35:31 +0000

当前格式化GMT日期:2010-12-26 20:35:31 +0000

我没有格式化字符串正确吗?有什么想法从2011年5月15日(今天)到2010年12月26日?

亲切的问候

保罗

iphone cocoa-touch objective-c nsdateformatter

2
推荐指数
1
解决办法
5993
查看次数

自动引用计数(ARC)和retainCount

我正在将我的项目转换为使用ARC,并遇到了一个特殊问题.我有一个类来管理从网络下载的文件缓存.每个文件都存储在iPhone文件系统中,相关对象保存在我的管理器类中.其他想要使用文件的对象,请求我的经理获取缓存对象,并在需要该文件时保留该文件.

但偶尔,经理会清理缓存,删除旧文件.当然,它不应该删除当时正在使用的文件.在ARC之前,我通过使用关联对象的retainCount检测到:

// if retainCount is 1 then only the cache has a reference to it
if( obj.retainCount <= 1 ) {
    [obj deleteFile];
    [cache removeObject:obj];
}
Run Code Online (Sandbox Code Playgroud)

这完全有效[是的,我知道有关retainCount不可靠的警告,但根据我的经验,如果retainCount> 1,你肯定知道不止一个对象保留了它]

但是,使用ARC时,不允许再使用retainCount.我可以引入自己的保留计数机制,并要求所有使用文件的对象明确保留和释放文件对象.但那是错误的,而且这正是ARC应该解决的问题.

你知道更好的方法来实现同样的目标吗?

cocoa-touch objective-c retaincount ios5 automatic-ref-counting

2
推荐指数
1
解决办法
2610
查看次数

何时继承UITableView?

我有一个MainViewController,我想添加两个UITableView,每个都有不同的单元格.但是我不想通过检查表委托方法来阻塞我的MainViewController代码,然后对它进行操作.太乱了.

所以我想我会继承UITableView并让它自己处理cellForRow和其他表方法,这样当我想向MainViewController添加一个表时,我只需要

CustomTable *customTable = [[CustomTable alloc] init];
[self.view addSubview:customTable];
Run Code Online (Sandbox Code Playgroud)

并且所有委托方法都将在该类中处理,从而使我的MainViewController混乱.

我接近这个错吗?我应该继承UITableViewController的子类吗?有什么不同?

iphone objective-c uitableview ios

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

我可以减少重复声明中的代码吗?

有没有办法减少Obj-C中重复声明的代码?

例如:

我有

    localNotification.fireDate = self.dueDate;
    localNotification.timeZone = [NSTimeZone defaultTimeZone];
    localNotification.alertBody = self.text;
    localNotification.soundName = UILocalNotificationDefaultSoundName;
Run Code Online (Sandbox Code Playgroud)

它可以简化为这样的东西吗?

 localNotification
    .fireDate = self.dueDate;
    .timeZone = [NSTimeZone defaultTimeZone];
    .alertBody = self.text;
    .soundName = UILocalNotificationDefaultSoundName;
Run Code Online (Sandbox Code Playgroud)

谢谢!

cocoa-touch objective-c ios

2
推荐指数
1
解决办法
180
查看次数

调用方法的错误做法?

我对良好或不良做法有疑问。

我创建了一个函数,该函数将生成一个随机数。如果随机数等于先前的随机数,则应生成一个新数。所以我的问题是。从方法中调用相同的方法是不好的做法吗?

func getRandomNumber(){ //<-- Method name
    let randomNumber = Int.random(in: 0..<allPlayers.count)

    if lastRoundNumber == randomNumber{
        getRandomNumber() //<-- Like this
    }
    print(randomNumber)
}
Run Code Online (Sandbox Code Playgroud)

还是我应该这样做?如果是,怎么办?

因此,像我在上面的代码中所做的那样,从当前方法中调用相同的方法是不好的做法吗?提前致谢。

如果是,为什么不好?以及如何获得更好的代码?

swift

2
推荐指数
1
解决办法
91
查看次数