我正在学习NSCharacterset课程.NSString和NSCharacterset看起来像类似的类.
谁能解释NSString和NSCharacterset之间的区别?
什么时候使用NSCharacterset?
谢谢你的帮助..
如何将启动图像更改为横向?
我想在设备是横向模式时设置不同的启动图像.
所以,我制作了一个PNG文件(文件名:default-LandscapeLeft@2x~iphone.png)
并将其拖动到支持文件夹中.
然后在设备横向模式下构建和运行.
但我只见过黑屏.我不知道原因..
我怀疑是否需要修改.plist文件..
请高级人员帮忙....
我想定义可以与类共享值的变量。
所以我尝试如下。
但它发生了错误。
如何向类共享值?
package com.company;
/////// Error occurred ///////
int sharedValue = 100; // <- How to share to classes?
//////////////////////////////
public class Main {
public static void main(String[] args) {
sharedValue += 10;
GlobalTest globalTest = new GlobalTest();
globalTest.printGlobalValue();
}
}
class GlobalTest {
void printGlobalValue() {
System.out.println(sharedValue);
}
}
Run Code Online (Sandbox Code Playgroud) 我使用过NSNumber类.
但是可以使用的方法在以下环境中是不同的.
首先是命令行工具环境中的图片.(Mac os x)
其次是单视图应用环境中的图片.(IOS)
:不能使用isGreaterThan :, isGreaterThanOrEqualTo :, isLessThan:..等等方法
为什么这样?
1]第一张照片
2]第二张图片
我想从下面的代码中获取最大值.
是否可以在NSPredicate中使用像'max()'这样的函数?
#import <Foundation/Foundation.h>
int main (int argc, const char * argv[])
{
@autoreleasepool {
NSNumber *number1 = [[NSNumber alloc]initWithInt:10];
NSNumber *number2 = [[NSNumber alloc]initWithInt:20];
NSNumber *number3 = [[NSNumber alloc]initWithInt:30];
NSMutableArray *array = [[NSMutableArray alloc]initWithObjects:number1, number2, number3, nil];
NSArray *result = [array filterUsingPredicate:<#(NSPredicate *)#> <= How to get a max value?
}
return 0;
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试获取在以下数组obj中指定键值的数组.
Ex1) If specifying key "name",
wanted result is : {"James", "Jhone", "Michael", "Donald", "Mac"}
Ex2) If specifying key "age",
wanted result is : {25,27,35,25,26}
Run Code Online (Sandbox Code Playgroud)
如何获得?
请帮忙或建议.
NSArray *array = [[[NSArray alloc] initWithObjects:
@{@"name" : @"James", @"age" : @25},
@{@"name" : @"Jhone", @"age" : @27},
@{@"name" : @"Michael", @"age" : @35},
@{@"name" : @"Donald", @"age" : @25},
@{@"name" : @"Mac", @"age" : @26},
nil] autorelease];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"??? == name"];
NSArray *filtered = [array filteredArrayUsingPredicate:predicate];
NSLog(@"result : %@", …
Run Code Online (Sandbox Code Playgroud) 对于使用NSFileManager的"copyItemAtPath"方法,如果存在相同的文件或文件夹,则会发生错误.
NSFileManager中是否有替换功能?
(如果存在相同的文件,删除并复制如果不存在,只需复制.)
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
[self generateTableContents];
}
- (void)generateTableContents {
NSFileManager *fileManager = [NSFileManager defaultManager];
NSArray *appsDirectory = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentPath = [appsDirectory objectAtIndex:0];
[fileManager changeCurrentDirectoryPath:documentPath];
[fileManager createDirectoryAtPath:@"user_List1" withIntermediateDirectories:YES attributes:nil error:nil];
NSString *bundlePath = [[NSBundle mainBundle] resourcePath];
NSError *error; // to hold the error details if things go wrong
NSString *sourcePath = [[NSBundle mainBundle] pathForResource:@"IMG_0523" ofType:@"JPG"];
if ([fileManager copyItemAtPath:sourcePath toPath: @"./user_List1/newIMG_0523.JPG" …
Run Code Online (Sandbox Code Playgroud) 我试图对一些数据进行排序以sortedArrayUsingDescriptors:
在NSArray
类中使用方法.
该方法必须指示标准比较器,但我想指出自定义比较器我做了什么.
有可能吗?
这是我的排序代码的一部分:
NSSortDescriptor *firstDescriptor =
[[[NSSortDescriptor alloc]
initWithKey:FIRSTNAME
ascending:YES
selector:@selector(CustomCompare:)] autorelease];
Run Code Online (Sandbox Code Playgroud)
CustomCompare:
<=想要制作自定义比较器.
我正在尝试获得正确的内容框架大小,该大小考虑了导航栏的高度大小.
但是如果在willRotateTo~方法中使用NSLog输出帧大小,则显示较早的帧大小.
但是它在didRotateFrom~方法中显示正确的帧大小.
如何在willRotateTo~方法中获得类似didRotateFrom~大小的帧大小?
以下是AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
// Override point for customization after application launch.
ViewController *rootView = [[[ViewController alloc] init] autorelease];
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
self.viewController = [[[UINavigationController alloc] initWithRootViewController:rootView] autorelease];
} else {
self.viewController = [[[UINavigationController alloc] initWithRootViewController:rootView] autorelease];
}
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
return YES;
}
Run Code Online (Sandbox Code Playgroud)
接下来是ViewController.m
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, …
Run Code Online (Sandbox Code Playgroud) 我学会了最近在Android OS上使用SQLite3的方法.但它有一个不可接受的部分.
我无法理解为什么在调用SQLiteOpenHelper的"onUpgrade"方法时删除表.为什么需要"onUpgarde"方法?
如果代码执行"drop table",旧版本DB的表数据将被删除,不是吗?
为什么要删除旧数据库的现有数据?
删除表时如何恢复现有的DB数据?
[这是学习代码]
public class MySQLiteOpenHelper extends SQLiteOpenHelper {
final String CONFIRMED_SHEETS_TABLE = "confirmed_sheets";
public MySQLiteOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, name, factory, version);
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
String sql = "create table" +
CONFIRMED_SHEETS_TABLE +
"_id integer primary key autoincrement, " +
"group text, " +
"num001 text, " +
"num002 text, " +
"num003 text, " +
"num004 text, " +
"num005 text, " +
"num006 …
Run Code Online (Sandbox Code Playgroud)