我曾经在XCode 6.0 DP中使用Swift一段时间,在我现有的项目中使用它.我试图从我的ViewController.swift文件访问MyModel.h(我现有的Objective C Model对象).我想导入
#import "MyModel.h"到我的Swift文件.但我无法找到如何做到这一点.
我有一个问题。请找到我在视图中使用的文本显示代码
<Text numberOfLines={5} ellipsizeMode={"tail"}>
{getDisplaySrting()}
</Text>
Run Code Online (Sandbox Code Playgroud)
对于超过 5 行的普通字符串,这段代码在 iOS 和 Android 中运行良好。第五行将以视图中预期的 3 个点结束。
例如:这是第五...
然而,当字符串中有换行符并且它位于第五行时,我会遇到一个问题。
例如:在第五行,如果字符串是 这是第五行\n
然后在Android中第五行将显示为 This is the Fifth...
然而在 iOS 中,这显示为: 这是第五个 末尾不显示省略号。
所以在 ios 中给人一种 stri 结束于第五位的感觉。
我认为这是 iOS 的限制。有人遇到过这个问题吗?这里还有什么解决方法或建议吗?
我在填充模型类的过程中有一个简单的疑问.我得到一个web服务响应,其中包含一个jsonDictionary,其中包含10-15个(可以是任何数字)keyValue对.我通常使用另一个解析器类将此jSON解析为NSDictionary,并使用NSDictionary从视图控制器填充模型类.但最近我在另一个代码中看到了.通过解析JSON字符串创建的NSDictionary将传递给具有静态方法的类.并且该模型从该类中的静态方法中填充,如下所示
类名: ModelMaker
静态方法,例如:
+ (MyModel1 *)fillInMyModelFromDictionay:(NSDictionary *)myDictionary;
+ (MyModel2 *)fillInMyModel2FromDictionay:(NSDictionary *)myDictionary2;
+(MyModel1 *)fillInMyModelFromDictionay:(NSDictionary *)myDictionary
{
MyModel1 *myModel1 = [[MyModel1 alloc] init];
myModel1.name = [myDictionary objectForKey:@"name"];
myModel1.age = [myDictionary objectForKey:@"age"];
return myModel1;
}
Run Code Online (Sandbox Code Playgroud)
那么你认为哪种方法更好.从视图控制器本身填充我的模型对象或使用上面显示的类,其唯一目的是填充模型对象.
在我的Web服务响应中,我得到了我的一个JSON密钥的值,如下所示:
{
dimensions = "1200, 800";
displayName = "something";
displayNumber = 1;
}
Run Code Online (Sandbox Code Playgroud)
我需要将维度字符串转换为CGSize变量,我使用以下代码.我将JSON字典添加到NSDictionary名称wardsDictionary并执行以下操作:
NSString *dimensionsString = (NSString *)[wardsDictionary objectForKey:@"dimensions"];
CGSize wardDimensions = CGSizeFromString(dimensionsSizeString);
NSLog(@"the dimensions string: %@",dimensionsString);
NSLog(@"the width: %@ and height:%@", wardDimensions.width, wardDimensions.height);
Run Code Online (Sandbox Code Playgroud)
结果是:
the dimensions string: "1200, 800"
the width: 0.0000 and height:0.0000
Run Code Online (Sandbox Code Playgroud)
现在我要做的是将组件分隔为","并从中获取CGSize变量.但有没有一种直接实现这一目标的好方法?