0

Xcode(4.3.2)で奇妙な動作をし、非推奨の警告が表示されます。その理由を理解したいと思います。非推奨の警告は特定のメソッドでのみトリガーされるようです。例(両方のメソッドは非推奨です):

[[UITableViewCell alloc] initWithFrame:CGRectMake(0, 0, 0, 0) reuseIdentifier:@"Cell"];

コンパイラは、メソッドが非推奨であることを(正しく)警告します。だが:

[self presentModalViewController:viewController animated:YES];

警告はトリガーされません。なんで?:-)

4

1 に答える 1

1

開発者向けドキュメントをチェックしてください。次のようになります-

1-現在非推奨です-

// Frame is ignored. The size will be specified by the table view width and row height.

- (id)initWithFrame:(CGRect)frame reuseIdentifier:(NSString *)reuseIdentifier __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_NA,__MAC_NA,__IPHONE_2_0,__IPHONE_3_0);

2-まもなく廃止される予定です。

// Display another view controller as a modal child. Uses a vertical sheet transition if animated.This method has been replaced by presentViewController:animated:completion: // It will be DEPRECATED, plan accordingly.

- (void)presentModalViewController:(UIViewController *)modalViewController animated:(BOOL)animated; 

2番目ではなく、最初に警告が表示される理由が明らかになることを願っています。

于 2012-06-12T10:31:41.893 に答える