小编Ron*_*bro的帖子

创建本地化的iPhone应用程序,但允许用户更改应用程序的语言

我正在开发一个本地化的应用程序,一切正常.问题是我想让用户在app settings文件夹中专门为特定应用程序选择语言.用户应将其手机设置为一种语言(例如法语),以便将应用程序设置为英语.

我目前正在使用NSLocalizedString来获取本地化字符串,但查看宏的所有变体我找不到一个可以让我指定语言.

关于如何做的任何想法?

iphone localization

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

从NIB大小问题加载UIView子类

我有一个UIView的子类,需要根据它的宽度来计算它的高度.在代码中创建时一切正常.但是,当我尝试在"界面"构建器中创建视图时,虽然我覆盖了所有相关方法,但我无法在界面构建器中获取视图集的大小.

- (id)initWithCoder:(NSCoder *)aDecoder
{
    NSLog(@"init with coder before super width %d",super.frame.size.width); // returns 0
    self = [super initWithCoder:aDecoder];
    NSLog(@"init with coder after super width %d",super.frame.size.width); // still returns 0
}

- (void) awakeFromNib
{
      NSLog(@"width of view %d",super.frame.size.width); // Returns 0 as well
}

- (void) setFrame:(CGRect)aFrame
{
    [super setFrame:aFrame]; // Called from initWithCoder by super. Correct frame size. 
}  
Run Code Online (Sandbox Code Playgroud)

所以我的下一个猜测是,我的视图的超级视图可能是在awakeFromNib之后设置我的视图框架.好吧事实证明它没有.我在我的视图上覆盖了setFrame,并在initWithCoder期间调用它.

所以这就是我目前所知道的:

  1. 首先调用initWithCoder
  2. 在initWithCoder期间,调用setFrame:(CGRect)aFrame
  3. 在setFrame中框架的大小是正确的,我调用[super setFrame:aFrame]
  4. 唤醒awakeFromNib
  5. awakeFromNib中的super.frame.size.width = 0 self.frame.size.width也为0
  6. 当这个过程完成时,它看起来似乎是视图下面的几个像素,但我想我的代码会因为它可能是我做的事情而变得如此紧密.

任何帮助将不胜感激

iphone interface-builder uiview nib

12
推荐指数
1
解决办法
7953
查看次数

OS 2.2.1和OS 3之间的Objective-C变化?

当我尝试为OS 3编译我的应用程序时遇到以下错误:

错误:访问者的类型与属性的类型不匹配

错误是我尝试访问的属性,定义如下:

NSMutableArray *myArray

@property (readonly,nonatomic) NSArray* myArray;
Run Code Online (Sandbox Code Playgroud)

该属性在实现文件中是@synthesized.

这在OS 2.2.1中运行得很好,但不是OS 3.0

自己编写getter方法解决了这个问题.

有人知道OS 2.2.1和3.0之间的objective-c的变化吗?这些变化有没有文件?

API文档的变化似乎并没有包含有关此问题的任何东西.

编辑

当您尝试访问该属性时发生错误,例如

NSArray *anArray = myClass.myArray;
Run Code Online (Sandbox Code Playgroud)

正如我在上面提到的,我找到了一个解决方法:自己编写getter方法,但是我真正想要的是来自apple的一些文档,解释了这个更改以及与API无关的任何其他更改.

谢谢你的帮助

iphone objective-c iphone-sdk-3.0

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

Xcode 11调试器的怪异行为-有值时将值显示为nil

我刚刚注意到Xcode11的怪异行为,我正在Xcode 10和Xcode 11中执行相同的代码。

有关这两个版本,请参见下面的屏幕截图。

我正在从String创建一个url,当我放入调试器并检查myUrl的值时,它显示为nil,尽管在下一行它通过nil检查,并且控制进入not nil情况。

也请参阅控制台。

有没有人已经遇到过这类问题?或我做错了什么。

PS:已清除缓存,派生数据,清理生成,重新启动Xcode。不要与断点的位置混淆,它们都是用不同的系统捕获的。

提前致谢。

xcode ios swift xcode10 xcode11

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